DataFrame中のinfを削除する方法

スポンサーリンク
python Python

論よりソース

# Nanだけでなく無限大,マイナス無限大をNanに直し、欠損とカウントさせる
df = df.replace([np.inf, -np.inf], np.nan)

これを行うことによって、無限大がnanになるためその後fillnaなどで欠損値として操作しやすくなります。

# 以降はfillnaやdropnaなどで削除可能
df = df.dropna() # nanがある行を削除
df = df.fillna(0) # 0でnanを置換

まとめ

infをnanに変えた後は処理として欠損値の補完が考えられます。

KNNImputerを使った欠損値補完が簡単でオススメです。

とりあえず本当にそのレコードを削除したい場合は以下のようなやり方があります。

短いですがこのあたりで。

それでは!

コメント

タイトルとURLをコピーしました