Python 如何减少数据帧中的行数,在给定列中聚合相同的值?

Python 如何减少数据帧中的行数,在给定列中聚合相同的值?,python,pandas,aggregate,Python,Pandas,Aggregate,对于这个问题,我将使用本文提供的数据。请按如下方式加载: import pandas as pd df = pd.read_csv('wierda_data.txt', sep=None) # For simplicity, let's only consider one subject and one lag it = iter(ex.groupby(('Subject', 'Lag'))) _, df = it.next() 如果我们查看df.head(10)我们有以下布局: 我想执

对于这个问题,我将使用本文提供的数据。请按如下方式加载:

import pandas as pd

df = pd.read_csv('wierda_data.txt', sep=None)

# For simplicity, let's only consider one subject and one lag
it = iter(ex.groupby(('Subject', 'Lag')))
_, df = it.next()
如果我们查看
df.head(10)
我们有以下布局:

我想执行一个reduce类型的操作,以便在
time
列中对于给定的值只有一行,对过程中
size
sizeNB
的值取平均值(将删除
T1acc
T2acc
的零值,因此无需考虑这些)

为了清楚起见,我想通过平均
size
sizeNB
的值,将第79-83行折叠成一行。根据相应的
time
值标识其余行

因此,我的问题有两个:

  • 这种行动的官方名称是什么?我倾向于称之为时间上的聚合。这是正确的吗
  • 我怎样才能在熊猫身上做到这一点

  • 提前非常感谢

    通过使用
    groupby
    mean
    方法,这很容易实现,如下所示

    只需
    groupby
    您的
    time
    列,然后对每个元素应用
    mean
    方法。见文件

    如果希望删除不必要的数据,则可以遍历列并从
    分组的
    对象中删除它们,如下所示:

    for column in ['Subject', 'Lag', 'T1acc', 'T2acc', 'NumberOfTargets']:
        del grouped[column]
    

    @啊,我应该自己能弄明白的!看起来我想把简单的事情变成复杂的事情!谢谢!=)
    for column in ['Subject', 'Lag', 'T1acc', 'T2acc', 'NumberOfTargets']:
        del grouped[column]