【发布时间】:2020-06-21 13:47:26
【问题描述】:
尝试使用np.random.random生成数字:
for portfolio in range(2437):
weights = np.random.random(3)
weights /= np.sum(weights)
print(weights)
它按预期工作:
[0.348674 0.329747 0.321579]
[0.215606 0.074008 0.710386]
[0.350316 0.589782 0.059901]
[0.639651 0.025353 0.334996]
[0.697505 0.171061 0.131434]
.
.
.
.
但是,我如何更改数字,以使每行限制为 1 个小数,例如:
[0.1 0.2 0.7]
[0.2 0.2 0.6]
[0.5 0.4 0.1]
.
.
.
.
【问题讨论】:
-
注意,如果你真的想对它们进行四舍五入,然后在四舍五入后使用它们,你会极大地改变数字的分布。 F.e.,对于 bin [0.0...0.05) 中的所有数字,您将得到
0.0,bin 宽度为 0.05。但是0.1的可能性是两倍,因为它将为 bin [0.05...0.15) 中的所有数字返回,bin 宽度为 0.1。1.0会遭受同样的命运,0.9、0.8 等概率的一半