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()チャレンジ
簡単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のすべてのレッスン
4Data Analysis with Pandas
Descriptive StatisticsGrouping and Aggregating DataDifferent AggregationsMerge & Concat2Working with the DataFrame
Understanding DataFramesAccessing DataData Cleaning - Missing dataData Cleaning - More tools3Data Manipulation with Pandas
Return Requested ResultFilter DataAdd & DeleteModify DataModify StringsCustom Modifications