【发布时间】:2017-11-01 10:55:39
【问题描述】:
我指的是this post,其中一个自定义 lambda 函数在分组时的聚合步骤期间应用于一个特定列。
In [67]: f = {'A':['sum','mean'], 'B':['prod'], 'D': lambda g: df.ix[g.index].E.sum()}
In [69]: df.groupby('GRP').agg(f)
Out[69]:
A B D
sum mean prod <lambda>
GRP
0 0.719580 0.359790 0.102004 1.170219
1 0.454824 0.227412 0.034060 1.182901
如果不明确指定 A 列和 B 列是否可行,我很感兴趣。我正在寻找一种方法,将 sum 或 mean 等标准方法应用于 D 列以外的所有列,并将自定义 lambda 函数 应用于 D 列仅。
类似这样的:
f = {'sum', 'D': lambda g: df.ix[g.index].E.sum()}
【问题讨论】:
标签: python python-3.x pandas dataframe pandas-groupby