首页 > 解决方案 > 根据单独列中的熊猫数据框中的特定列以及其他列按计数和总和进行分组

问题描述

我有一个数据框(df):

A   B   C   D   E   F
A1  B1  c   10  E1  F1
A2  B2  c   50  E2  F2
A3  B3  c   20  E2  F3
A4  B4  c   30  E1  F4
A5  B5  c   40  E3  F5

输出应该是这样的;

df:
A   B   C   D   E   F   count   sum
A1  B1  c   10  E1  F1  2   40
A2  B2  c   50  E2  F2  2   70
A3  B3  c   20  E2  F3  2   70
A4  B4  c   30  E1  F4  2   40
A5  B5  c   40  E3  F5  1   40

根据 E 列进行计数和求和。

我试过了 :

df.groupby('E').agg(['count','sum'])

我只得到 count 和 sum 列而不是df. 请提出解决方案。

标签: pythonpandasdataframe

解决方案


试试这样:

df['count'] = df.groupby('E')['E'].transform('count')
df['sum'] = df.groupby('E')['D'].transform('sum')

输出:

    A   B  C   D   E   F  count  sum
0  A1  B1  c  10  E1  F1      2   40
1  A2  B2  c  50  E2  F2      2   70
2  A3  B3  c  20  E2  F3      2   70
3  A4  B4  c  30  E1  F4      2   40
4  A5  B5  c  40  E3  F5      1   40

推荐阅读