Skip to main content
 首页 » 编程设计

Python numpy 随机数概率

2025年05月04日17arxive

Python 3.6.1 :: Anaconda custom (64-bit) 
 
import numpy as np 
import matplotlib.pyplot as plt 
import matplotlib as mtptlb 
 
print (np.__version__) 
1.12.1 
print (mtptlb.__version__) 
2.0.2 
 
%matplotlib inline 
a=np.random.uniform(1,100,1000000) 
b=range(1,101) 
plt.hist(a) 

为什么Y轴显示100000? np.random.uniform(1,100,1000000) 的值为 1000000,所以它不应该在 y 轴上显示 1000000 吗?

请您参考如下方法:

默认 matplotlib.pyplot.hist使用 10 个箱子。因此,您所有的 100 万个值都分配到 10 个容器中。对于完美的均匀分布,您会期望每个 bin 中出现 10 万次(100 万除以 10)。

您可以更改垃圾箱的数量,即

a=np.random.uniform(1, 100, 1000000) 
plt.hist(a, bins=100) 

这里它被分成 100 个 bin,因为它是均匀分布,所以所有 bin 大约为 10000。

或者,如果您想要 1 000 000 个计数,则只需一个 bin:

a=np.random.uniform(1, 100, 1000000) 
plt.hist(a, bins=1)