我正在尝试使用Numpy创建具有预定平均值和标准偏差值的数组。数组中需要随机数。
到目前为止,我可以生成一个数组并计算平均值和标准值。但无法通过值控制数组:
CORE_PEER_MSPCONFIGPATH
如何通过mean和std控制数组值?
答案 0 :(得分:6)
使用numpy.random.normal
。如果您的平均值为my_mean
而您的标准为my_str
:
x = np.random.normal(loc=my_mean, scale=my_std, size=1000)
答案 1 :(得分:4)
另一种解决方案,使用np.random.randn
:
my_std * np.random.randn(1000) + my_mean
示例:
my_std = 0.025
my_mean = 0.025
x = my_std * np.random.randn(1000) + my_mean
x.mean()
# 0.025493112966038879
x.std()
# 0.024464870590114995
使用相同的随机种子,这实际上会产生与numpy.random.normal
完全相同的结果:
np.random.seed(42)
my_std * np.random.randn(5) + my_mean
# array([ 0.03741785, 0.02154339, 0.04119221, 0.06307575, 0.01914617])
np.random.seed(42)
np.random.normal(loc=my_mean, scale=my_std, size=10)
# array([ 0.03741785, 0.02154339, 0.04119221, 0.06307575, 0.01914617])
答案 2 :(得分:0)
由于您已经知道平均值和标准差,因此您有两个自由度。这意味着您可以为阵列的两个元素选择随机数。最后两个必须通过求解由mean和stddev公式给出的方程组来计算。