分组数据框并获得总和和计数? [英] Group dataframe and get sum AND count?
本文介绍了分组数据框并获得总和和计数?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个看起来像这样的数据框:
I have a dataframe that looks like this:
Company Name Organisation Name Amount
10118 Vifor Pharma UK Ltd Welsh Assoc for Gastro & Endo 2700.00
10119 Vifor Pharma UK Ltd Welsh IBD Specialist Group, 169.00
10120 Vifor Pharma UK Ltd West Midlands AHSN 1200.00
10121 Vifor Pharma UK Ltd Whittington Hospital 63.00
10122 Vifor Pharma UK Ltd Ysbyty Gwynedd 75.93
我如何求和Amount
并计算Organisation Name
,以获得一个新的看起来像这样的数据框?
How do I sum the Amount
and count the Organisation Name
, to get a new dataframe that looks like this?
Company Name Organisation Count Amount
10118 Vifor Pharma UK Ltd 5 11000.00
我知道如何对或计数求和:
I know how to sum or count:
df.groupby('Company Name').sum()
df.groupby('Company Name').count()
但不是两者都做!
推荐答案
尝试一下:
In [110]: (df.groupby('Company Name')
.....: .agg({'Organisation Name':'count', 'Amount': 'sum'})
.....: .reset_index()
.....: .rename(columns={'Organisation Name':'Organisation Count'})
.....: )
Out[110]:
Company Name Amount Organisation Count
0 Vifor Pharma UK Ltd 4207.93 5
或者如果您不想重置索引:
or if you don't want to reset index:
df.groupby('Company Name')['Amount'].agg(['sum','count'])
或
df.groupby('Company Name').agg({'Amount': ['sum','count']})
演示:
In [98]: df.groupby('Company Name')['Amount'].agg(['sum','count'])
Out[98]:
sum count
Company Name
Vifor Pharma UK Ltd 4207.93 5
In [99]: df.groupby('Company Name').agg({'Amount': ['sum','count']})
Out[99]:
Amount
sum count
Company Name
Vifor Pharma UK Ltd 4207.93 5
这篇关于分组数据框并获得总和和计数?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文