pandasによるgroupの重合

3968 ワード

DataFrameGroupBy.Agg(arg,*args,**kwargs)の例:
>>> df = pd.DataFrame({'A': [1, 1, 2, 2],
...                    'B': [1, 2, 3, 4],
...                    'C': np.random.randn(4)})

出力:
>>> df
   A  B         C
0  1  1  0.362838
1  1  2  0.227877
2  2  3  1.267767
3  2  4 -0.562860

各行にagg関数を使用する
>>> df.groupby('A').agg('min')
   B         C
A
1  1  0.227877
2  3 -0.562860

複数のカラムに対して複数のagg関数を使用します.
>>> df.groupby('A').agg(['min', 'max'])
    B             C
  min max       min       max
A
1   1   2  0.227877  0.362838
2   3   4 -0.562860  1.267767

agg関数を使用する列を選択します.
>>> df.groupby('A').B.agg(['min', 'max'])
   min  max
A
1    1    2
2    3    4
>>> df.groupby('A').agg({'B': ['min', 'max'], 'C': 'sum'})
    B             C
  min max       sum
A
1   1   2  0.590716
2   3   4  0.704907