以下の内容はhttps://anton0825.hatenablog.com/entry/2017/01/29/000000より取得しました。


pandas.qcutはcutする列の値に重複があると挙動がおかしくなることがある

現象は以下。

  • TitanicのtrainデータのAgeの欠損値を22.0で埋める
  • pd.qcut(train["Age"], 4, duplicates="drop").value_counts() を実行すると以下のようになり、要素数にかなり偏りができる
(0.419, 22.0]    408
(24.0, 35.0]     220
(35.0, 80.0]     217
(22.0, 24.0]      46
Name: Age, dtype: int64

「境界値をずらすともっと偏るのでしょうが無い」という状況なのかなと思いきや、そうでもなく、例えば以下の方が良い分割方法のように見える。

pd.qcut(train["Age"], [0, .2, .5, .75, 1.], duplicates="drop").value_counts()

(20.0, 24.0]     275
(24.0, 35.0]     220
(35.0, 80.0]     217
(0.419, 20.0]    179
Name: Age, dtype: int64

これはpandasの不具合なんだろうか。。値の重複があるときはqcutを使わないようにするか。。




以上の内容はhttps://anton0825.hatenablog.com/entry/2017/01/29/000000より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14