作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
使用 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>)
最佳答案
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();
关于python - numpy,如何生成一组正态分布的整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33160367/
我是一名优秀的程序员,十分优秀!