我试图简单地绘制不同日期最大值的直方图。我有一个包含许多列的DataFrame,其中包括列date
和列Points
。首先,使用以下代码找到每个日期的最大Points
:
maxnight=new.groupby(["date"], sort=False)["Points"].max()
然后我尝试绘制这些最大值的直方图;我想在y轴上具有频率,在x轴上具有最大值。我尝试:
plt.hist(maxnight)
但是,它不起作用,因为最小值应该为5,并且直方图显示0和2.5……我不知道它们的来源。我浏览了maxnight
中的所有值,发现5以下没有值
编辑: 我尝试使用一组虚拟数据,它正在工作。然后,我发现错误来自应该存在的异常值,这是其他地方的另一个问题。
答案 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)