我将一个数据集读入Pandas,并使用df_new=df.query("parent=='pr1'")对数据进行过滤,创建一个新的DataFrame,如下所示:
child parent date pres
101 ch05 pr1 2004-06-01 2760.35
102 ch05 pr1 2004-07-08 2758.83
103 ch09 pr1 2004-08-04 2759.13
.. ... ... ...
317 ch12 pr1 2021-03-15 1737.09
318 ch12 pr1 2021-03-17 1730.98
183 ch05 pr1 2021-04-30 1777.09 我正在计算每天的平均值,所以我试过这样做:pobs = df.groupby('date')['pres'].mean()。这似乎是可行的,因为print(pobs)提供了如下内容:
date
2004-06-01 2760.35
2004-07-08 2758.83
2004-08-04 2759.13但是,我希望使用date来确定pres与matplotlib之间的关系,但无法分别提取这两个数组。我试着在这里调整解决方案,Plotting pandas groupby,但是我已经陷入困境。我怀疑答案是一两行代码,但我就是找不到它们-所有的建议都很感激。谢谢!
发布于 2021-12-06 17:01:39
你只需要重置索引
pobs = df.groupby('date')['pres'].mean().reset_index()产出:
date pres
0 2004-06-01 2760.35
1 2004-07-08 2758.83
2 2004-08-04 2759.13以这种方式,prob现在是一个数据格式,并且可以这样绘制,例如
import matplotlib.pyplot as plt
plt.plot(pobs.date,pobs.pres)https://stackoverflow.com/questions/70248903
复制相似问题