Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/date/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 按A列分组,B列内容总和_Python_Pandas - Fatal编程技术网

Python 按A列分组,B列内容总和

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

我有一个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
这样我就可以通过
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秒,更好的解决方案