繁体   English   中英

根据 python 中的另一列将 15 分钟数据聚合为 1 小时数据?

[英]Aggregate 15 min data to 1 hour data based on another column in python?

我使用 pandas 获得了以下数据框作为示例:

时间戳 电脑编号 内存使用百分比
05-07-2022 08:00:00 1 25
05-07-2022 08:00:00 2 56
05-07-2022 08:00:00 3 34
05-07-2022 08:15:00 1 23
05-07-2022 08:15:00 2 63
05-07-2022 08:15:00 3 23
05-07-2022 08:30:00 1 26
05-07-2022 08:30:00 2 56
05-07-2022 08:30:00 3 32
05-07-2022 08:45:00 1 23
05-07-2022 08:45:00 2 15
05-07-2022 08:45:00 3 86
05-07-2022 09:00:00 1 43
05-07-2022 09:00:00 2 26
05-07-2022 09:00:00 3 21

我想将时间从 15 分钟间隔汇总到 1 小时。 但是我在同一个数据集中有不同的计算机编号。 首先,我如何将时间汇总到 1 小时,其次我如何为每台计算机单独完成?

谢谢!

您可以从时间戳中提取hour值,然后按groupby -

df['hour'] = pd.to_datetime(df['Timestamp']).dt.hour
df.groupby(['hour', 'Computer no.']).agg('mean').reset_index()

输出

   hour  Computer no.  Memory Usage in %
0     8             1              24.25
1     8             2              47.50
2     8             3              43.75
3     9             1              43.00
4     9             2              26.00

这应该有效:

df = df.set_index('Timestamp')

df1 = df[df['Computer no.']==1].resample('1H').mean()
df2 = df[df['Computer no.']==2].resample('1H').mean()
df3 = df[df['Computer no.']==3].resample('1H').mean()

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

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