python - numpy,如何生成一组正态分布的整数

标签 python numpy statistics scipy

使用 numpy 生成一组正态分布的整数的最佳方法是什么?我知道我可以用这样的东西得到花车:

In [31]: import numpy as np

In [32]: import matplotlib.pyplot as plt

In [33]: plt.hist(np.random.normal(250, 1, 100))
Out[33]: 
(array([  2.,   5.,   9.,  10.,  19.,  21.,  13.,  10.,   6.,   5.]),
 array([ 247.52972483,  247.9913017 ,  248.45287858,  248.91445546,
         249.37603233,  249.83760921,  250.29918608,  250.76076296,
         251.22233984,  251.68391671,  252.14549359]),
 <a list of 10 Patch objects>)

histogram

最佳答案

Binomial Distribution是正态分布的良好离散近似。即,

Binomial(n, p) ~ Normal(n*p, sqrt(n*p*(1-p)))

所以你可以这样做

import numpy as np
import matplotlib.pyplot as plt
from math import sqrt

bi = np.random.binomial(n=100, p=0.5, size=10000)
n = np.random.normal(100*0.5, sqrt(100*0.5*0.5), size=10000)

plt.hist(bi, bins=20, normed=True);
plt.hist(n, alpha=0.5, bins=20, normed=True);
plt.show();

enter image description here

关于python - numpy,如何生成一组正态分布的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33160367/

相关文章:

r - 如何从数据子集中随机抽取并在 R 中引导统计测试

python multiprocessing.Process 执行了一个错误的目标(用py2exe打包)

python - 如何获取集合中嵌套项的值?

python - 长的 NumPy 数组无法完全打印?

r - 更改 ggplot2 中闪避条形图的颜色

r - 如何找到统计模式?

python - 在Python2.7中实现Barrier

python - 100% 堆积条形图 - python (seaborn/matplotlib)

numpy - 使用 apt-get 安装 numpy 最新包

python - x 轴上带有日期的不连续时间序列图