[英]Rounding up 5-min data to a complicated hourly basis
我有我的数据如下:
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,类似这样,地板/圆形函数是否在此起作用,还是我们需要实现自己的逻辑
首先,将Timestamp
转换为datetime
-
df['Timestamp'] = pd.to_datetime(df['Timestamp'], errors='coerce')
现在,将Timestamp
设置为索引,并使用base
参数调用resample
,该参数指定从每小时开始的偏移量-
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
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.