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=10)
# array([ 0.03741785, 0.02154339, 0.04119221, 0.06307575, 0.01914617])
すでに平均と標準偏差がわかっているので、2つの自由度があります。つまり、配列の2つの要素を除くすべての要素に乱数を選択できます。最後の2つは、平均と標準偏差の式で与えられる連立方程式を解いて計算する必要があります。