【发布时间】:2021-04-13 11:14:55
【问题描述】:
我正在尝试从分布中随机生成数字。不属于我要替换的平均值的两个标准偏差的数字,因此最终数组中的所有数字都在这个范围内。这是我到目前为止的代码:
mean = 150
COV = 0.4
sd = COV*mean
upper_limit = mean + 2*sd
lower_limit = mean - 2*sd
capacity = np.random.normal(mean, sd, size = (1,96))
for x in capacity:
while x > upper_limit:
x = np.random.normal(mean, sd, size = 1)
while x < lower_limit:
x = np.random.normal(mean, sd, size = 1)
但是,我收到错误消息ValueError: The truth value of an array with more than one element is ambiguous. Use a.any() or a.all()
谁能帮忙解决这个问题?
【问题讨论】:
-
是不是
capacity是一个矩阵,所以capacity中的每个x都是一行,但是你把它当作一个单独的元素来对待?