データクレンジングの練習のためにわざとデータを欠損させるPython

1 min読了の目安(約800字TECH技術記事

使用ライブラリ

  • numpy
  • pandas

プログラム

データのインポートとデータセット定義

サンプルなので、numpyで適当に乱数定義して、それをデータフレームにしています

import numpy as np
import pandas as pd

sample_data = np.random.rand(100, 10)
sample_dataset = pd.DataFrame(sample_data)

関数定義

データフレームと、欠損値を出したいカラム名を文字列で渡す関数。
8行目で対象の行インデックスを特定し、9行目でNoneと置き換えている

def random_missing(target_df,column):
  """
  Input   target_df : Dataframe, 
          column : Number  Column that you'd like to missing randomly
  
  Output  Dataframe that missing randomly
  """
  target_index = np.random.choice(target_df.index)
  target_df.loc[target_index, column] = None
  return target_df

実行結果

ちらっとNaNがはいっているのが見える

.info実行結果

97 non-nullが確認できる