PythonのSciPyライブラリで正規分布からランダムに値を生成するには、stats.norm.rvsを用いる。
stats.norm.rvsの使い方
stats.norm.rvsの引数locに平均、引数scaleに標準偏差を指定すると、その値に応じた正規分布からランダムに値が1つ生成される。
from scipy import stats
print(stats.norm.rvs(loc=0, scale=1))
# 0.2266770764720358
print(stats.norm.rvs(loc=10, scale=2))
# 9.194304203126878
引数sizeを指定すると、指定した数に値が生成される。
print(stats.norm.rvs(loc=1, scale=3, size=3))
# [1.34680918 5.05441921 0.10882441]
print(stats.norm.rvs(loc=-1, scale=2, size=5))
# [ 0.85238602 0.25547611 -0.19558616 -1.21010082 -1.3517654 ]
正規分布に従った値が生成されいるか確認するために、平均10、標準偏差2の正規分布からランダムに10000個値を生成する。
import seaborn as sns
v = stats.norm.rvs(loc=10, scale=2, size=10000)
sns.displot(v)
コメント