Pandas のグループ化で合計を取得するにはどうすればいいですか? 質問する

Pandas のグループ化で合計を取得するにはどうすればいいですか? 質問する

私はこのデータフレームを使用しています:

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?

ベストアンサー1

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

おすすめ記事