本文介绍了按时间分组和其他在 pandas 中的专栏的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个大熊猫数据框,其中包含时间戳记,名称和值列

I have a large pandas dataframe containing columns timestamp, name, and 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

我想按时间段(例如20ms或20分钟)和名称分组,然后计算每组的平均值.

I want to group by time buckets (say 20ms or 20 minutes) and name, and calculate the average value for each group.

最有效的方法是什么?

推荐答案

您可以使用pd.Grouper,但是它要求您在索引上带有时间戳.因此,您可以尝试执行以下操作:

You can use pd.Grouper, but it requires you to have the timestamps on the index. So you could try something like:

df.set_index('timestamp').groupby([pd.Grouper(freq='20Min'), 'name']).mean()

这篇关于按时间分组和其他在 pandas 中的专栏的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-02 03:45