簡體   English   中英

按計數和總和分組,基於pandas數據框中的特定列以及其他列

[英]group by count and sum based on particular column in pandas dataframe in separate column along with other columns

我有一個數據幀(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'])

我只得到計數和總和列而不是其他列的df 請建議解決方案。

試試這樣:

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

我無法理解您的數據,但您想要做的是:

df.groupby('E').agg({'column1': 'count', 'column2': 'sum'})

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM