如何绘制不同日期最大值的直方图?

时间:2018-11-30 16:47:54

标签: python matplotlib group-by max histogram

我试图简单地绘制不同日期最大值的直方图。我有一个包含许多列的DataFrame,其中包括列date和列Points。首先,使用以下代码找到每个日期的最大Points

maxnight=new.groupby(["date"], sort=False)["Points"].max()

然后我尝试绘制这些最大值的直方图;我想在y轴上具有频率,在x轴上具有最大值。我尝试:

plt.hist(maxnight)

enter image description here

但是,它不起作用,因为最小值应该为5,并且直方图显示0和2.5……我不知道它们的来源。我浏览了maxnight中的所有值,发现5以下没有值

编辑: 我尝试使用一组虚拟数据,它正在工作。然后,我发现错误来自应该存在的异常值,这是其他地方的另一个问题。

1 个答案:

答案 0 :(得分:0)

就像我正在做的那样,按需要工作,如下所示:

import pandas as pd
import matplotlib.pyplot as plt 

new=pd.DataFrame({"date":[0,0,0,0,1,1,1,3,3,4,5,5,5],"Points":[3,2,5,6,8,3,2,8,3,5,6,3,2]})
new 

date Points 0 0 3 1 0 2 2 0 5 3 0 6 4 1 8 5 1 3 6 1 2 7 3 8 8 3 3 9 4 5 10 5 6 11 5 3 12 5 2

maxnight=new.groupby(["date"], sort=False)["Points"].max()
maxnight

date
 0    6
 1    8
 3    8
 4    5
 5    6

plt.hist(maxnight)

enter image description here