python - 如何根据熊猫中的时间戳以小时为单位聚合数据?
问题描述
我每天从 00:00:00 到 23:59:59 有一个完整的数据框,下面的表格只是示例,我不能在这里粘贴它,因为它太长了。
id sm_log_time score 1 score 2
0 2020-04-15 15:25:49 10 10
1 2020-04-15 15:38:55 10 10
2 2020-04-15 15:52:01 10 10
3 2020-04-15 16:05:07 10 10
4 2020-04-15 16:18:13 10 10
我想要的数据框是这样的。分数 1 和分数 2 是基于一小时中的分钟数的总和
id sm_log_time score 1 score 2
0 2020-04-15 15:00:00 100 200
1 2020-04-15 16:00:00 230 200
2 2020-04-15 17:00:00 200 300
3 2020-04-15 18:00:00 100 300
4 2020-04-15 19:00:00 100 300
有人给我这个供参考:
times = pd.to_datetime(df.timestamp_col)
df.groupby([times.hour, times.minute]).value_col.sum()
解决方案
首先设置索引是必要的。然后使用resample
时间序列索引的方法:
df.set_index('sm_log_time').resample('H').sum().reset_index()
结果:
sm_log_time id score 1 score 2
0 2020-04-15 15:00:00 3 30 30
1 2020-04-15 16:00:00 7 20 20
请注意也id
已汇总,如果没有必要,您可以删除它。结果数据帧的新行号现在在索引中。
推荐阅读
- react-bootstrap - react-bootstrap 如何仅输入 csv 文件并阅读此文件
- centos6 - centos 上 jbrowse 的替代品
- javascript - Kendo-UI - 通过 JSON 多个下拉列表的动态表单
- mysql - 备份mysql数据库的正确方法?
- vuejs2 - 分页在过滤项目Vuetify数据表中不起作用
- php - 如何伪造 guzzele 发布请求以在 laravel 中获取响应数据
- python-appium - 在 Eclipse 中导入 Appium 库时出错
- python - 如何创建带有时间戳的散点图
- youtube - 想要从 youtube 视频中获取完整尺寸的缩略图
- javascript - 我想在执行应用程序后和注销时映射登录页面