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

标签 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

任何有关我如何做到这一点的意见都将受到赞赏。

最佳答案

使用groupby与聚合sum和返回 DataFrame 的参数 as_index=False:

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

关于python - 使用pandas计算python中列总和的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41019276/

相关文章:

python - 以宽格式制作 pandas df 并将值取消连接到不同的列

python - Numpy 与 Pandas 不一致的结果和缺失值

python - 使用 openpyxl 将 'wrap_text' 应用于所有单元格

Python假设: Ensure that input lists have same length

python - 删除运行Python脚本的Windows机器上的只读文件

python - 如何在python中调试导致后续异常的堆栈跟踪?

python - 如何将一行从一个 pandas 数据框复制到另一个 pandas 数据框?

python - 你如何获得 "My Documents"的确切路径?

python - 用不同版本的 Pandas 读泡菜

python - 如何绘制股票数据的滚动平均值?