【python】pandasにて欠損値(NAN)を補完(置換)・削除する方法【空白行の削除:dropna関数、fillna関数、intepolate関数】
大量の科学的データを解析する際には、pythonを初めとしたデータ加工に長けたプログラミングを理解しておくと便利です。
例えば、python(jupyternotebook使用)のpandas機能にてcsvなどを読み込む際に空白があると、欠損値(NAN)となることがありますが、これを含む行を削除したり、欠損値を補完したりするにはどのように処理すればいいのか理解していますか。
ここでは、これらpandasにて欠損値NANを補完(置換)・削除する方法について確認していきます。
・pandas(Python)にて欠損値(NAN)を含む行を削除する方法【dropna関数】
・pandas(Python)にて欠損値(NAN)を補完(置換)する方法【fillna関数、interpolate関数】
というテーマで解説していきます。
pandas(Python)にて欠損値(NAN)を含む行を削除する方法【dropna関数】で空白行の削除
それでは、実際に欠損値(NAN)データ(以下)を用いて、欠損値を含む行を削除していきましょう。
pythonにて欠損値を含む行をすべて削除するには、dropna関数を使っていくといいです。
具体的なコードは以下の通りです。
これを最後に入れることで、以下のよう欠損値を含む行が削除できました。
欠損値を含むデータを列方向に削除する際には、引数にaxis=1を入れるといいです。
pandas(Python)にて欠損値(NAN)を補完(補間)する方法【interpolate関数】
なお、pythonにて欠損値を含む行を消してしまうのではなく、前後の数値を元に線形補間していく場合はinterpolate関数を活用します。
コードは
これを最後に入れることで、以下のよう欠損値を前後のセルの数値によって補間できるのです。
pandas(Python)にて欠損値(NAN)の置換を行う方法【fillna関数】
なお、pandasにて欠損値(NAN)の前後のデータではな、く「任意の指定した数値にて置換を行う」には以下のようfillna関数を活用していきます。
コードは以下の通りです。
df.fillna(数値)
今回は欠損値を3で置き換えていくことにします。
なお、()内には平均値(mean関数)などを計算する関数を入れ、その数値で欠損値を置換することもできることも覚えておきましょう。
【python】pandasにて欠損値(NAN)を補完(置換)・削除する方法【空白行の削除】 関連ページ
- 【matplotlib】x軸(軸ラベル)を回転させる方法【python(pandas)】
- 【pandas】csv読み込み時にディレクトリ(フォルダ)を指定する方法【python(pandas)】
- 【python】csvの書き込み(保存)時に列指定を行う方法【pandas(jupyternotebook)での出力】
- 【python】csvの保存先を指定する方法【pandasにおけるdataframe(jupyternotebook)】
- 【python】pandasにて最大値の2番目や最大値を計算する方法【2番目に大きい】
- 【python】pandasにてヘッダーの変更(データフレーム)を行う方法【csvやexcel読み込み時など】
- 【python】pandasにてヘッダー(header)を飛ばす方法【複数行のヘッダーがある場合など】