gpt4 book ai didi

python - 按时间间隔+聚合函数对 Pandas 进行分组

转载 作者:太空宇宙 更新时间:2023-11-04 09:24:53 24 4
gpt4 key购买 nike

假设我有一只这样的 Pandas :

2010-01-01 04:10:00:025     69
2010-01-01 04:10:01:669 1
2010-01-01 04:10:03:027 3
2010-01-01 04:10:04:003 8
2010-01-01 04:10:05:987 10
2010-01-01 04:10:06:330 99
2010-01-01 04:10:08:369 55
2010-01-01 04:10:09:987 5000
2010-01-01 04:10:11:148 13

我需要将它转换成如下格式:

2010-01-01 04:10:00:000     69      69
2010-01-01 04:10:05:000 5000 10
2010-01-01 04:10:10:000 13 13

第一列对应于从 2010-01-01 04:10:00:000 开始的每 5 秒间隔。

第二列是所有分组行的最大值。

第三列是所有分组行中的第一列。

我怎样才能得到它?

最佳答案

假设您的意思是 5 秒,我们可以将 pd.Grouperaggmin, first 一起使用:

# use this line if your first column is not datetime type yet.
# df['col1'] = pd.to_datetime(df['col1'], format='%Y-%m-%d %H:%M:%S:%f')

df.groupby(pd.Grouper(key='col1', freq='5s'))['col2'].agg(['max', 'first']).reset_index()

输出

                 col1   max  first
0 2010-01-01 04:10:00 69 69
1 2010-01-01 04:10:05 5000 10
2 2010-01-01 04:10:10 13 13

注意:因为你没有提供列名,我称它们为col1, col2

关于python - 按时间间隔+聚合函数对 Pandas 进行分组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58210576/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com