首页 > 解决方案 > 使用 Pandas 数据框按日期和小时对数据进行分组

问题描述

我正在使用 pandas 数据框,我想将前五天和最后五天组合在一起。然后从该分组中,我想对同一小时的样本测量值进行平均。即:在这 10 天中,从 00:00:00 开始的样本测量值取平均值。任何有关如何实现这一目标的指导将不胜感激。谢谢你。

约会时间 样品测量
2019-08-17 00:00:00 10
2019-08-17 01:00:00 14
2019-08-17 02:00:00 12
2019-08-17 03:00:00 10
...... ……
2019-09-07 20:00:00 9
2019-09-07 21:00:00 7
2019-09-07 22:00:00 5
2019-09-07 23:00:00 3

标签: pythonpandasdataframegrouping

解决方案


首先,您需要使用pandas.to_datetime方法将 DateTime 列更改为日期时间对象

然后创建一个仅包含日期的新列,例如:

 df['date_only'] = df['Datetime'].dt.date 

会在你的情况下工作

然后使用 pandas groupby 和 mean 方法将所有相似的日期分组在一起,然后取他们的样本测量的平均值

例如:

df.groupby(['date_only'])['Sample Measurement'].mean()

会工作


推荐阅读