簡體   English   中英

創建一個具有預先確定的平均值和標准偏差的數組

[英]Create an array with a pre determined mean and standard deviation

我正在嘗試使用 Numpy 創建一個具有預定平均值和標准偏差值的數組。 該數組需要其中的隨機數。

到目前為止,我可以生成一個數組並計算平均值和標准差。 但無法獲得由值控制的數組:

import numpy as np
x = np.random.randn(1000)
print("Average:")
mean = x.mean()
print(mean)
print("Standard deviation:")
std = x.std()
print(std)

如何通過均值和標准差控制數組值?

使用numpy.random.normal 如果你的意思是my_mean和你的 std my_str

x = np.random.normal(loc=my_mean, scale=my_std, size=1000)

另一個解決方案,使用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=5) #note the size here is 5 now
# array([ 0.03741785,  0.02154339,  0.04119221,  0.06307575,  0.01914617])

由於您已經知道均值和標准差,因此您有兩個自由度。 這意味着您可以為數組中除兩個元素之外的所有元素選擇隨機數。 最后兩個必須通過求解由 mean 和 stddev 公式給出的方程組來計算。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM