为了账号安全,请及时绑定邮箱和手机立即绑定

熊猫组和小熊猫之和

熊猫组和小熊猫之和

千巷猫影 2019-06-03 10:17:36
熊猫组和小熊猫之和我正在使用这个数据框架:Fruit   Date      Name  NumberApples  10/6/2016 Bob    7Apples  10/6/2016 Bob    8Apples  10/6/2016 Mike   9Apples  10/7/2016 Steve 10Apples  10/7/2016 Bob    1Oranges 10/7/2016 Bob    2Oranges 10/6/2016 Tom   15Oranges 10/6/2016 Mike  57Oranges 10/6/2016 Bob   65Oranges 10/7/2016 Tony   1Grapes  10/7/2016 Bob    1Grapes  10/7/2016 Tom   87Grapes  10/7/2016 Bob   22Grapes  10/7/2016 Bob   12Grapes  10/7/2016 Tony  15我想用名字,然后用水果来聚合,得到每个名字的水果总数。Bob,Apples,16 ( for example )我试着按名字和水果分组,但是我怎么得到水果的总数。
查看完整描述

4 回答

?
凤凰求蛊

TA贡献1825条经验 获得超4个赞

使用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


查看完整回答
反对 回复 2019-06-03
?
缥缈止盈

TA贡献2041条经验 获得超4个赞

你也可以使用agg函数,

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


查看完整回答
反对 回复 2019-06-03
?
潇潇雨雨

TA贡献1833条经验 获得超4个赞

如果要保留原始列Fruit和Name,使用reset_index()..不然的话Fruit和Name将成为指数的一部分。


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


Fruit   Name       Number

Apples  Bob        16

Apples  Mike        9

Apples  Steve      10

Grapes  Bob        35

Grapes  Tom        87

Grapes  Tony       15

Oranges Bob        67

Oranges Mike       57

Oranges Tom        15

Oranges Tony        1

从其他答复中可以看出:


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


               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


查看完整回答
反对 回复 2019-06-03
?
慕后森

TA贡献1802条经验 获得超5个赞

其他两种答案都能实现你想要的结果。


您可以使用pivot在一个漂亮的表中安排数据的功能


df.groupby(['Fruit','Name'],as_index = False).sum().pivot('Fruit','Name').fillna(0)




Name    Bob     Mike    Steve   Tom    Tony

Fruit                   

Apples  16.0    9.0     10.0    0.0     0.0

Grapes  35.0    0.0     0.0     87.0    15.0

Oranges 67.0    57.0    0.0     15.0    1.0


查看完整回答
反对 回复 2019-06-03
  • 4 回答
  • 0 关注
  • 436 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信