Pandas 按时间和其他列分组

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-

我有一个包含列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-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
的规格,请看这里: