[英]group by count and sum based on particular column in pandas dataframe in separate column along with other columns
I have a dataframe(df): 我有一个数据帧(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
Output should be like; 输出应该是这样的;
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
taking count and sum based on E column. 根据E列计算和计算。
I tried : 我试过了 :
df.groupby('E').agg(['count','sum'])
I am getting only count and sum column not other columns of df
. 我只得到计数和总和列而不是其他列的
df
。 Please suggest the solution. 请建议解决方案。
Try it like this: 试试这样:
df['count'] = df.groupby('E')['E'].transform('count')
df['sum'] = df.groupby('E')['D'].transform('sum')
Output: 输出:
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.