python - Python 每天按分钟分组
问题描述
我有跨越 30 天的日志数据。我希望对数据进行分组,以查看 15 分钟窗口在 24 小时内的事件总数最少。数据格式如下:
2021-04-26 19:12:03,上传
2021-04-26 11:32:03,下载
2021-04-24 19:14:03,下载
2021-04-22 1:9:03,下载
2021- 04-19 4:12:03,上传
2021-04-07 7:12:03,下载
我正在寻找类似的结果
19:15:00, 2
11:55:00, 1
7:15:00, 1
4:15:00, 1
1:15:00, 1
目前,我使用石斑鱼:
df['date'] = pd.to_datetime(df['date'])
df.groupby(pd.Grouper(key="date",freq='.25H')).Host.count()
我的结果看起来像\
date
2021-04-08 16:15:00+00:00 1
2021-04-08 16:30:00+00:00 20
2021-04-08 16:45:00+00:00 6
2021-04-08 17:00:00+00:00 6
2021-04-08 17:15:00+00:00 0
..
2021-04-29 18:00:00+00:00 3
2021-04-29 18:15:00+00:00 9
2021-04-29 18:30:00+00:00 0
2021-04-29 18:45:00+00:00 3
2021-04-29 19:00:00+00:00 15
有什么办法让我不能只在时间上再次合并而不包括日期吗?
解决方案
你想要这样的东西吗?
在这里,想法是 - 如果您不关心日期,那么您可以用某个随机日期替换所有日期,然后您可以仅根据时间数据对数据进行分组/计数。
df.Host = 1
df.date = df.date.str.replace( r'(\d{4}-\d{1,2}-\d{1,2})','2021-04-26', regex=True)
df.date = pd.to_datetime(df.date)
new_df = df.groupby(pd.Grouper(key='date',freq='.25H')).agg({'Host' : sum}).reset_index()
new_df = new_df.loc[new_df['Host']!=0]
new_df['date'] = new_df['date'].dt.time
推荐阅读
- r - 循环遍历数据框列表以在 R 中创建图形
- rust - 如何制作具有特征的泛型泛型?
- jquery - addClass 作为元素中的第一个而不是最后一个
- excel - Excel:如何计算符合一个条件的日期之间的时间
- php - Google App Engine, 2 Services, dispatch.yaml: nginx-app.conf 似乎不再考虑
- java - 如何使用 Data Flow runner 从 ApacheBeam 将 hyperLogLog 字段保存到 BigQuery
- javascript - React Hooks 中用于传递参数的点击事件的语法是什么
- css - 浏览器调整大小时如何使第二个div移动到下一行
- python - 从 pandas 数据框创建图形(网络)
- javascript - 如何在Angular中更新表格的单个单元格?