Pandas 按时间和其他列分组
我有一个包含列timestamp、name和value的大熊猫数据框架Pandas 按时间和其他列分组,pandas,Pandas,我有一个包含列timestamp、name和value的大熊猫数据框架 index timestamp name value 0 1999-12-31 23:59:59.000107 A 16 1 1999-12-31 23:59:59.000385 B 12 2 1999-12-31 23:59:59.000404 C 25 3 1999-
index timestamp name value
0 1999-12-31 23:59:59.000107 A 16
1 1999-12-31 23:59:59.000385 B 12
2 1999-12-31 23:59:59.000404 C 25
3 1999-12-31 23:59:59.000704 B 15
4 1999-12-31 23:59:59.001281 A 300
5 1999-12-31 23:59:59.002211 C 20
6 1999-12-31 23:59:59.002367 C 3
我想按时间段(比如20毫秒或20分钟)和名称分组,并计算每组的平均值
最有效的方法是什么?您可以使用
pd.gropper
,但它要求您在索引上有时间戳。因此,您可以尝试以下方法:
df.set_index('timestamp').groupby([pd.Grouper(freq='20Min'), 'name']).mean()
谢谢,我一直在寻找的
pd.TimeGrouper
现在已经被弃用了,正确的方法是使用pd.Grouper
。要查看freq
的规格,请看这里: