python - 使用 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 |
解决方案
首先,您需要使用pandas.to_datetime方法将 DateTime 列更改为日期时间对象
然后创建一个仅包含日期的新列,例如:
df['date_only'] = df['Datetime'].dt.date
会在你的情况下工作
然后使用 pandas groupby 和 mean 方法将所有相似的日期分组在一起,然后取他们的样本测量的平均值
例如:
df.groupby(['date_only'])['Sample Measurement'].mean()
会工作
推荐阅读
- synchronization - 在源访问掩码中包含 READ_BIT 是否有意义?
- python - 打印匹配键 Python
- javascript - 字符串文字包含未转义的换行符
- android - pdfVIew 不适用于我的 kotlin 开发环境
- c++ - Dev-Cpp:编译“mingw32-make.exe:*** [Test6_main.o] 错误 -1073741502”时出现错误消息
- javascript - 如何选择/取消选择反应js中的所有复选框?
- reactjs - 如何从 React useEffect 中的输入长度为 3 触发 axios 请求?
- jquery - 将 jquery 版本从 2.1 升级到 3 后,淘汰赛验证自定义规则不起作用
- android - 我无法在 Android 工作室中导入课程
- oracle - 从 SELECT 语句中插入具有 VARRAY 类型数据类型列的表