本日の関数:fillna()
こんにちは。
テービーテックの村松です。
本日ご紹介する関数は「fillna()」。
※※これまでご紹介した関数はこちら※※
どんな関数?
欠損値を任意の他の値に置換(穴埋め)する際に使います。
引数は?
fillna(self、value = None、method = None、axis = None、inplace = False、limit = None、downcast = None )
よく指定する引数は、
- self:置き換える値を指定します。
- inplace:置き換えた値をそのまま元のデータに差し替えます(デフォルトはFalse)
使ってみよう
input
#使用するデータフレーム
df
コード
まずは全て0で埋めてみましょう。
df.fillna(0)
NaNが全て0に置き換わりました。
実際にデータフレームでよく使うのは列ごとの平均値(mean())・中央値(median())・最頻値(mode())を入れる方法でしょうか。
前処理として大活躍です。
df.fillna(df.mean())
それぞれの列の平均値が入りましたね。
データフレームの欠損値をを扱うときにこんな風によく使われる関数です。
なお、上の書き方だと元のdfは変わりありません。
df
しかし、inplace=Trueにすることで、
df.fillna(df.mean(), inplace=True)
df
このように元のデータフレームに直接置き換えることもできます。
元のデータを残しておきたいときは使わないようにしないといけませんね。