我有一个名为firstperiod
的pandas数据帧和一个名为megaball
的列。 megaball
中的值范围是1到25,这行代码:
print firstperiod.megaball.value_counts().sort_index()
给了我这个,这就是我想看到的(每个可能值的出现次数)
1 12
2 4
3 9
4 4
5 3
6 6
7 5
8 8
9 7
10 10
11 6
12 5
13 3
14 5
15 6
16 8
17 15
18 7
19 8
20 5
21 8
22 7
23 1
24 11
25 9
firstperiod.megaball.value_counts().sort_index().plot(kind='bar')
plt.show()
^这显示条形图很好,x轴值最多25,y轴值最多15。
但出于某种原因,当我想要一个直方图而不是一个条形图(而只改变kind=
的参数值时,这给了我一些完全错误的东西,并且与之前的条形图值非常不同。为什么是那?以及如何修复直方图?
firstperiod.megaball.value_counts().sort_index().plot(kind='hist')
plt.show()
答案 0 :(得分:3)
那是因为" hist"情节不仅仅是绘制数据,而是实际上首先估计原始数据的经验分布,然后绘制结果。也就是说," hist"将要收集数据,计算每个bin的实例并绘制该数据,因此不需要自己执行value_counts()
。
因此,相当于:
firstperiod.megaball.value_counts().sort_index().plot(kind='bar')
应该是:
firstperiod.megaball.plot(kind='hist')