データハンドリング 前処理

python/pandas/DataFrame/欠損値の補完

投稿日:

データフレームの欠損値を補填する

メソッド

データの準備

PassengerIdSurvivedPclassSexAgeEmbarked
0NaN03.0male22.0S
12.011.0female38.0NaN
23.01NaNNaNNaNNaN
34.011.0female35.0S
45.003.0male35.0S

pandas.DataFrame.fillna

デフォルト

パラメータ(method)

bfill:後ろの有効な値で補完
ffill:前の有効な値で補完

使用例

欠損値を0で補完する

PassengerIdSurvivedPclassSexAgeEmbarked
00.003.0male22.0S
12.011.0female38.00
23.010.000.00
34.011.0female35.0S
45.003.0male35.0S

平均値で保管する。数値型以外は動作しない。

PassengerIdSurvivedPclassSexAgeEmbarked
03.503.0male22.0S
12.011.0female38.0NaN
23.012.0NaN32.5NaN
34.011.0female35.0S
45.003.0male35.0S

method = ‘ffill’を使って欠損値を直前の値で補完する数値型にのみ動作する。

PassengerIdSurvivedPclassSexAgeEmbarked
00.003.0male22.0S
12.011.0female38.0A
23.012.0male30.0NaN
34.011.0female35.0S
45.003.0male35.0S

pandas.DataFrame.interpolate

デフォルト

DataFrame.interpolate(method=’linear’, axis=0, limit=None, inplace=False, limit_direction=’forward’, limit_area=None, downcast=None, **kwargs)

パラメータ(method)

使用例

1次の多項式で補完する。非数値型、前後に値のないデータには動作していない。

df.interpolate(method=’polynomial’, order=1)

PassengerIdSurvivedPclassSexAgeEmbarked
0NaN03.0male22.0S
12.011.0female38.0NaN
23.011.0NaN36.5NaN
34.011.0female35.0S
45.003.0male35.0S

2次の多項式で補完する。非数値型、前後に値のないデータには動作していない。
2次関数で補完ができている。(Pclassがわかりやすい)

PassengerIdSurvivedPclassSexAgeEmbarked
0NaN03.000000male22.000000S
12.011.000000female38.000000NaN
23.010.333333NaN39.166667NaN
34.011.000000female35.000000S
45.003.000000male35.000000S

-データハンドリング, 前処理

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

関連記事

no image

Pandas/DataFrame/ビニング

ビニングとは数値データを任意の幅で区切ったカテゴリ変数に変換すること。 具体的には、年齢データを年代データ( 10代、20代…)に変換するイメージ。 Contents1 データの読み込み2 …

no image

ボストン住宅価格 〜決定木〜

Contents1 線形回帰とは1.1 基本的なデータ探索について1.2 学習曲線について1.3 グリッドサーチについて1.4 グリッドサーチの使いこなし 線形回帰とは 線形回帰複数の変数における相関 …

no image

kaggle:House Price チュートリアル(LASSO回帰とRIDGE回帰)

Contents1 概要説明1.1 作業の流れ2 ライブラリインポート3 データの読み込み4 前処理4.1 対数変換4.2 ダミー変数化4.3 欠損値処理4.4 データの分割5 モデリング5.1 RI …

no image

特徴量エンジニアリングまとめ

ツリーモデルと非ツリーモデルを中心に特徴量エンジニアリングのパターンを特徴量のデータ型と手法選択の考え方をまとめます。地味だけど脱初心者には重要なスキルです。 Contents1 数値データ1.1 正 …

no image

Pandas/DataFrame/データ抽出

分析をするにあたって、最初に必要になるpandas/DataFrameのデータ抽出について記載しています。 メソッド pandas.DataFrame.locpandas.DataFrame.iloc …