
10.3
apply
メソッド:一般的な分離−適用−結合の方法
335
In [86]: grouped = frame.data2.groupby(quartiles)
In [87]: grouped.apply(get_stats).unstack()
Out[87]:
count max mean min
data1
(-2.956, -1.23] 95.0 1.670835 -0.039521 -3.399312
(-1.23, 0.489] 598.0 3.260383 -0.002051 -2.989741
(0.489, 2.208] 297.0 2.954439 0.081822 -3.745356
(2.208, 3.928] 10.0 1.765640 0.024750 -1.929776
これらは同じ長さのビンになっていました。そうではなく、サンプルデータの分位点に基づいて同じ
個数のデータが入ったビンにするには、
qcut
を使います。
labels=False
を渡すと、分位点の数値を得
ることができます。
#
分位点の数値を戻す
In [88]: grouping = pd.qcut(frame.data1, 10, labels=False)
In [89]: grouped = frame.data2.groupby(grouping)
In [90]: grouped.apply(get_stats).unstack()
Out[90]:
count max mean min
data1 ...