我在使用Python中的随机库模拟我正在工作的项目时做了一些尝试,但是发现自己处于一个非常奇怪的位置。
假设我们有以下Python代码:
from random import randint
import seaborn as sns
a = []
for i in range(1000000):
a.append(randint(1,150))
sns.distplot(a)
这个图形的数据应该遵循“离散均匀”分布。
但是,当我将范围从1改为110时,图形出现了多个峰值。
from random import randint
import seaborn as sns
a = []
for i in range(1000000):
a.append(randint(1,110))
sns.distplot(a)
我的印象是峰值在0、10、20、30等位置,但我无法解释它。
编辑:我的问题与提出的重复问题不同,因为我遇到的问题是seaborn库和我可视化数据的方式。
编辑2:根据答案的建议,我尝试通过更改seaborn库来验证它。使用matplotlib进行绘图后两个图形都是相同的。
from random import randint
import matplotlib.pyplot as plt
a = []
for i in range(1000000):
a.append(randint(1,110))
plt.hist(a)
System.Random
中的等效bug就好了... - CodesInChaos