繁体   English   中英

将5分钟的数据四舍五入到一个小时

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM