pandasでgroupbyしたものをDataFrameに変換する
reset_index()を使う。
元データ
In [1]: import pandas as pd d = {'score':[10,20,25,40], 'usr':['usr1','usr2','usr1','usr2'] } df = pd.DataFrame(d) df Out[1]: score usr 0 10 usr1 1 20 usr2 2 25 usr1 3 40 usr2
groupby()を使って集計する。帰って来るのはgoupbyオブジェクト。
In [2]: df.groupby('usr')['score'].sum() Out[2]: usr usr1 35 usr2 60 Name: score, dtype: int64
これをDataFrameとして扱いたければreset_index()を使えばよい。
In [3]: df.groupby('usr')['score'].sum().reset_index() Out[3]: usr score 0 usr1 35 1 usr2 60