我试图简单地绘制不同日期的最大值的直方图。我有一个包含许多列的 DataFrame,其中包括 date
列和 Points
列。首先,我使用以下代码找到每个日期的最大Points
:
maxnight=new.groupby(["date"], sort=False)["Points"].max()
然后我尝试绘制这些最大值的直方图;我想在 y 轴上显示频率,在 x 轴上显示最大值。我尝试:
plt.hist(maxnight)
但是,它不起作用,因为最小值应该是 5 并且直方图显示一些 0 和 2.5...我不明白它们来自哪里。我查看了 maxnight
中的所有值,没有低于 5 的值
编辑: 我尝试使用一组虚拟数据并且它正在工作。然后我发现错误来自一些应该存在的异常值,这是其他地方的另一个问题。
最佳答案
就像我所做的那样,按需要工作,如下所示:
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
日期 点
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)
关于python - 如何绘制不同日期最大值的直方图?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53561681/