和風ましらに

機械学習とか勉強したことを書き認めるブログ

Pandas関数について -ビニング処理(ビン分割)

pandasでビニング処理(ビン分割)を行うにはcut関数、またはqcut関数を使用。

それぞれ、

cut関数は、最小値と最大値から、等間隔に切ってビン分割するのに対して、 qcut関数は、ビンの中の値の数を揃えてビン分割するという違いがある。

cut関数

第一引数xに元データとなる一次元配列、第二引数binsにビンの数を指定する。

(例)pd.cut(df.petal_length, 4) 

第二引数binsにリストを指定すると、リストの要素を境界値として分割される。

(例)pd.cut(df.petal_length, [0, 1.0, 5.0, 10.0]))

labels=Falseとすると整数値のインデックス(0始まりの連番)をつけられる。このインデックスを基に集計して、各セグメント毎の挙動の違いをよく確認する。

(例)pd.cut(df.petal_length, 4 ,labels = False) 

qcut関数

各ビンに含まれる個数(要素数)が等しくなるようにビニング処理(ビン分割)する関数。

q =2にすると中央値が得られ、4にすると四分点が得られる。

(例)pd.qcut(df.petal_length, 2)

cut関数と同様にlabels=Falseとすると整数値のインデックス(0始まりの連番)をつけられる。

(例)pd.qcut(df.petal_length, 2,labels = False)