Python 按A列分组,B列内容总和
我有一个Python panda数据帧,如:Python 按A列分组,B列内容总和,python,pandas,Python,Pandas,我有一个Python panda数据帧,如: A B 0 aa 4 1 bb 6 3 aa 12 4 bb 2 我想按A列和B列的和值分组。我使用以下代码: df.groupby(by=['A'])['B'].sum() 我得到的是: B A 0 aa 16 1 bb 14 但这并不是我想要的,我想得到: A B 0 aa 16 1 bb 14 这样我就可以通过d
A B
0 aa 4
1 bb 6
3 aa 12
4 bb 2
我想按A列和B列的和值分组。我使用以下代码:
df.groupby(by=['A'])['B'].sum()
我得到的是:
B
A
0 aa 16
1 bb 14
但这并不是我想要的,我想得到:
A B
0 aa 16
1 bb 14
这样我就可以通过df['A']
访问A列,或者通过df['B']
访问B列
我怎么能得到这个?任何帮助或建议都将不胜感激。您可以使用
as_index=False
选项:
In [34]: df.groupby('A', as_index=False)['B'].sum()
Out[34]:
A B
0 aa 16
1 bb 8
默认情况下,pandas会将用于分组的列设置为索引。您也可以在之后使用
reset\u index
。您可以使用reset\u index
:
df.groupby('A').sum().reset_index()
Out[7]:
A B
0 aa 16
1 bb 8
然后访问'A'
,例如:
In [8]: df.groupby('A').sum().reset_index()['A']
Out[8]:
0 aa
1 bb
比我快9秒,更好的解决方案