我使用以下代码获取浮动的随机列表:
random_A = np.random.uniform(low=0, high=10, size=(50,))
所以我得到了50个花车的清单
[0.35664866 4.76750599 2.05083389 9.53811567 5.36920383 8.91679955
2.19965617 2.62523134 6.55224616 9.35766331 5.79652488 4.23194067
2.72168337 5.31431884 8.3975979 9.29497168 5.42797236 5.64302212
2.91821098 5.06305922 1.88212402 0.24593891 9.45021432 0.95423611
9.36860165 2.46100709 3.80709829 1.08442665 3.28513088 9.75743916
5.36187267 4.61001088 0.17912406 6.52406152 3.26927165 4.40187936
6.79600876 8.10418648 1.06927133 5.3087785 1.85829928 2.20111922
1.6910625 6.25714944 0.29338196 5.73195802 0.73971446 3.62506435
9.0166149 3.90316395]
我现在想要得到的是50个浮点数的另一个列表,我们称之为random_B,其中该列表的每个浮点数都低于第一个列表中的数字(random_A)。请你帮助我好吗?
问候
这是一种间接的方法:生成第一个数组,然后使用该数组的单个元素作为使用np.random.uniform
再次生成第二个数组的上限
import numpy as np; np.random.seed(121)
random_A = np.random.uniform(low=0, high=10, size=(10,))
print (random_A)
# [1.11330828 2.10767575 2.32962488 1.51944557 8.30178138 4.07919415 5.557906 7.45523942 2.48499756 9.68659399]
random_B = np.array([np.random.uniform(0, i) for i in random_A])
print (random_B)
# [1.06063118 1.03244254 0.04262587 1.30308582 3.36170915 2.53919206 1.64164697 6.93030501 1.00795353 5.49521109]
编辑
甚至更好,如@Severin在下面的评论中所建议的那样
random_B = np.random.uniform(low=0, high=random_A, size=(10,))