python - 我如何通过 Pandas 分组来获得总和?

标签 python pandas dataframe group-by aggregate

我正在使用这个数据框:

Fruit   Date      Name  Number
Apples  10/6/2016 Bob    7
Apples  10/6/2016 Bob    8
Apples  10/6/2016 Mike   9
Apples  10/7/2016 Steve 10
Apples  10/7/2016 Bob    1
Oranges 10/7/2016 Bob    2
Oranges 10/6/2016 Tom   15
Oranges 10/6/2016 Mike  57
Oranges 10/6/2016 Bob   65
Oranges 10/7/2016 Tony   1
Grapes  10/7/2016 Bob    1
Grapes  10/7/2016 Tom   87
Grapes  10/7/2016 Bob   22
Grapes  10/7/2016 Bob   12
Grapes  10/7/2016 Tony  15

我想通过 Name 来汇总此信息然后通过Fruit得到总数FruitName 。例如:

Bob,Apples,16

我尝试按Name分组和Fruit但我如何获得 Fruit 的总数?

最佳答案

使用GroupBy.sum :

df.groupby(['Fruit','Name']).sum()

Out[31]: 
               Number
Fruit   Name         
Apples  Bob        16
        Mike        9
        Steve      10
Grapes  Bob        35
        Tom        87
        Tony       15
Oranges Bob        67
        Mike       57
        Tom        15
        Tony        1

要指定要求和的列,请使用:df.groupby(['Name', 'Fruit'])['Number'].sum()

关于python - 我如何通过 Pandas 分组来获得总和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59350344/

相关文章:

python - 在 Pandas 列中查找正则表达式模式

python - 如何获取pandas中两列之间的日期范围信息

python - 将多个网页抓取到单个 csv 中

python - Tkinter "place"几何管理器不工作

python - 想要使用 groupby 和 transform 创建包含唯一值列表的列

python - 昨天查询 pandas 之前我该怎么做

Pandas:使用其他数据帧的索引值创建一个新数据帧

python - 具有条件概率的随机选择

python:os.getenv 不返回 sudo?

python - Pandas 比较两个数据帧并确定匹配的值