使用pandas计算python中列的总和的方法

时间:2016-12-07 13:54:08

标签: python pandas

我有一个具有以下结构的DataFrame:

+----------+--------+-------+---------------+
|     cash |  game  |item_id|username       |
+-------------------+-------+---------------+
| 0  10.42 |  test1 |   131 |    my_name_1  |
| 1   4.45 |  test2 |   133 |   my_name_2   |
| 2  123.2 | test1  |    23 |    my_name_1  |
+------------------+--------+---------------+

我需要编写一个方法,将此DataFrame作为输入,并返回每个用户每场比赛花费的金额。输出应如下所示:

username    game 
my_name_1   test1 133.62
my_name_2   test2 4.45

我对如何做到这一点的任何意见表示赞赏。

1 个答案:

答案 0 :(得分:1)

使用groupby汇总sum和参数as_index=False返回DataFrame

print (df.groupby(['username','game'], as_index=False)['cash'].sum())
    username   game    cash
0  my_name_1  test1  133.62
1  my_name_2  test2    4.45

或添加reset_index

print (df.groupby(['username','game'])['cash'].sum().reset_index())
    username   game    cash
0  my_name_1  test1  133.62
1  my_name_2  test2    4.45