基于另一列的唯一值的列总和

use*_*_01 1 python sum dataframe pandas

我有一个数据框

Column1  Column2
1          20
2          25
3          30
2          40
4          18
1          24
Run Code Online (Sandbox Code Playgroud)

我想基于Column1的唯一值对Column2求和。我们可以使用以下方式根据特定值(例如1)找到和:

df.loc[df['Column1'] == 1, 'Column2'].sum()
Run Code Online (Sandbox Code Playgroud)

正确地给了我们44。但是,我们如何对Column1中的所有唯一值执行此操作,从而产生该值

Column1  Column2
1          44
2          65
3          30
4          18
Run Code Online (Sandbox Code Playgroud)

W S*_*vis 7

我相信您正在寻找groupby。您可以在这里找到文档

df.groupby('Column1')['Column2'].sum()
Column1  Column2
1          44
2          65
3          30
4          18
Run Code Online (Sandbox Code Playgroud)