我的数据如下:
Timestamp Outbound Utilization (%)
11/22/2017 9:55 12.356965
11/22/2017 10:00 14.4424725
11/22/2017 10:05 19.44614625
11/22/2017 10:10 49.3823
11/22/2017 10:15 51.21698
11/22/2017 10:20 50.67409188
11/22/2017 10:25 14.89324375
11/22/2017 10:30 27.1916175
11/22/2017 10:35 19.8268025
11/22/2017 10:40 9.996577813
11/22/2017 10:45 7.929271875
11/22/2017 10:50 22.7705
11/22/2017 10:55 32.611105
11/22/2017 11:00 9.761414375
11/22/2017 11:05 13.10104375
我的日期列应该向上舍入到每小时数据,但它应该看起来像10:05,11:05,这意味着应该累积9:05到10:05的所有数据并显示为9:05,10 :05到11:05数据应该显示为10:05,这样的事情,楼层/圆形功能是否有效,或者我们是否需要实现我们自己的逻辑
答案 0 :(得分:1)
首先,将Timestamp
转换为datetime
-
df['Timestamp'] = pd.to_datetime(df['Timestamp'], errors='coerce')
现在,将Timestamp
设置为索引并使用resample
参数调用base
,该参数指定从每小时开始的偏移量 -
df.set_index('Timestamp').resample('60min', base=5).sum()
Outbound Utilization (%)
Timestamp
2017-11-22 09:05:00 26.799437
2017-11-22 10:05:00 315.700051
2017-11-22 11:05:00 13.101044
如果您要查找平均值,请拨打mean
而不是sum
-
df.set_index('Timestamp').resample('60min', base=5).mean()
Outbound Utilization (%)
Timestamp
2017-11-22 09:05:00 13.399719
2017-11-22 10:05:00 26.308338
2017-11-22 11:05:00 13.101044
如果要重置索引,可以在结果上添加reset_index
。