groupby,sum和count到一个表

Hei*_*erg 2 python numpy pandas

我有一个数据框如下

df=pd.DataFrame({"A":np.random.randint(1,10,9),"B":np.random.randint(1,10,9),"C":list('abbcacded')})

   A  B  C
0  9  6  a
1  2  2  b
2  1  9  b
3  8  2  c
4  7  6  a
5  3  5  c
6  1  3  d
7  9  9  e
8  3  4  d
Run Code Online (Sandbox Code Playgroud)

我想在下面获得分组结果(使用key ="C"列),并且有意地删除行cd和e.

   number   A_sum   B_sum
a   2        16       15
b   2        3        11
Run Code Online (Sandbox Code Playgroud)

这是2row*3列数据帧.分组键是C列."数字"栏表示每个字母(a和b)的计数.A_sum和B_sum表示对C列中的字母总和进行分组.

我想我们应该使用方法groupby但是如何获得这个数据汇总表呢?

Ami*_*ory 7

你可以使用一个单独groupby

res = df.groupby(df.C).agg({'A': 'sum', 'B': {'sum': 'sum', 'count': 'count'}})

res.columns = ['A_sum', 'B_sum', 'count']
Run Code Online (Sandbox Code Playgroud)