2016-12-07 112 views
1

我有以下结构的数据帧,计算在python一列的总和:方法,使用熊猫

+----------+--------+-------+---------------+ 
|  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 | 
+------------------+--------+---------------+ 

我需要编写借此数据帧作为输入并返回的货币的每个用户之和的方法已经花费了每场比赛。输出应该看起来像这样:

username game 
my_name_1 test1 133.62 
my_name_2 test2 4.45 

任何输入我怎么能这样做表示赞赏。

回答

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