はじめに
DataFrameにおける欠損値(NaN)の処理方法として、NaNを除外したり、置換したりする方法について説明する。
解説
モジュールのインポート
NaNを含むDataFrameの作成
NaNがTrueとなるisnull()
isnullにより、NaNの部分がTrueとなったbool型の配列が得られる。
NaNがFalseとなるnotnull()
notnullはisnullの逆で、NaNの部分がFalseとなったbool型の配列が得られる。
NaNを除外するdropna()
dropna()によりNaNを含む行を除外した配列が得られる。
dropna()でaxis=1
、または、axis='columns'
とすることでよりNaNを含む列を除外できる。
how='all'
により、全てNaNの行だけ除外される。
NaNに値を代入するfillna()
.fillna(#)の#にNaNの代わりにしたい数値をいれると、NaNがその数値となった配列が得られる。
ひとつ前の要素を代入するffill
ffillはforward-fillの略で、NaNのひとつ前の要素が代入される。
ひとつ後の要素を代入するbfill
bfillはback-fillの略でひとつ後の要素が代入される。
axis=1とすることで列方向のひとつ後の要素が代入される。
ffill, bfillともに前、後の要素がNaNの場合はNaNのままとなる。
参考
pandas.DataFrame.fillna — pandas 2.2.3 documentation
pandas.DataFrame.dropna — pandas 2.2.3 documentation
コメント