Menu
Coddy logo textTech

Data Cleaning - Missing data

Coddyの「Pandas Analytics」コースのレッスン 6/19。

通常、CSVファイルには欠損データ、誤ったカラム名、重複、誤った値、および誤ったデータ型が含まれています。Pandasモジュールには、これらの問題を処理するためのすべてのツールが備わっています。

欠損データ

値が欠損しているかどうかを確認するには:

df.isna()

各カラムにいくつ欠損値があるかを知るには:

df.isna().sum()

isna() 関数はすべての値を true または false(欠損しているかどうか)に変換し、その後適用されます。sum()true を 1、false を 0 として扱います。

カラムとその欠損値の数を反復処理するには、辞書と同じように items() メソッドを使用します(ただし、これは Pandas の Series オブジェクトです):

for column, missing_num in df.isna().sum().items():
	print(column, missing_num)

データフレーム全体のすべての欠損値を埋めるには、fillna() メソッドを使用します:

df = df.fillna("some value")

特定のカラムのみの欠損値を埋めるには、そのカラムに対して fillna() 関数を使用します:

df["some_column"] = df["some_column"].fillna("some value")

欠損値のあるすべての行を削除するオプションもあります:

df = df.dropna()
challenge icon

チャレンジ

簡単

CSVファイル missing.csv は整理されていません。

ファイルの最初の5行は以下の通りです:

ID,COUNTRY,COLOR,SKILL,SKILL_POINTS,UTILIZATION,IS_VALID
1,France,Signal violet,marksmanship,14,0.1924,1
1,France,Signal violet,marksmanship,14,0.1924,1
2,Solomon Islands,Pearl violet,,4,,1
3,Germany,,calligraphy,12,0.88646,0

データをクリーニングしてください:

  • 欠損値が 2 つより多いすべてのの欠損値を、値 Missing で埋めます。
  • 欠損値がある残りの行をすべて削除します。

進捗を確認するには、dfを表示してください: print(df)

最終的な結果を df 変数に格納してください。
テストケースに合格するために、df を出力しないでください!

自分で試してみよう

# pandas は pd として既にインポートされています
df = pd.read_csv("./missing.csv")
# 以下にコードを記述してください

Pandas Analyticsのすべてのレッスン