削除か補完か:賢く選ぶ
削除する場合と補完する場合
「削除か補完か:賢く選ぶ」はCoddyKit上の無料Data Science Academyレッスンです。 これはレッスン2/4です。 下記で完全なレッスンを無料で読むことができます。その後、ブラウザ内の組み込みコードエディタと24時間対応のAIチューターでハンズオン演習できます。 これはData Science Academy学習パスの一部であり、ウェブとCoddyKitアプリ全体で進捗が同期されます。 Data Science Academyコースには全4レッスンが含まれています。
欠損に対する2つの道
欠損データに出会ったら、大きな選択を迫られます。影響を受けた行をdropするか、値を補うかです。どちらが適切かは、それぞれの方法でどれだけ失うかによって決まります。🛣️
行を削除する
dropna()メソッドは、欠損値が1つでもある行を削除します。すっきりして簡単ですが、大量のデータを気付かないうちに削除してしまう可能性があります。
clean = df.dropna()代わりに列を削除する
ある列の大部分が空なら、axis=1を使って列全体を削除します。1つの問題のある列を残すほうが、その列が含まれる行を削除するより悪影響になる場合があります。
df.dropna(axis=1)削除しても安全な場合
欠損がまれで、あちこちに散らばっている場合は、削除がうまく機能します。大きなデータセットのごく一部を失っても、結論が変わることはほとんどありません。
削除が問題になる場合
多くの行に1つでも欠損があると、削除によってデータが大幅に減る可能性があります。さらに、失われる行がrandomではない場合、結果に偏りが生じます。
欠損を補う
別の方法として、fillna()を使って欠損セルを適切な値でfillできます。すべての行を残せますが、一部の数値を作ることになります。
df.fillna(0)補完は推測である
補った値はすべてestimateであることを覚えておきましょう。よい補完とは、妥当で記録に残されているものです。いい加減な補完は欠損を隠し、統計値を歪めます。
threshという中間策
threshを使うと、実際のデータが十分にある行だけを残せます。これは、行に含まれる欠損していない値の最小数を設定するものです。
df.dropna(thresh=3)1つの列を対象にする
subsetを使うと、特定の重要な列が欠損している場合だけ行を削除できます。不要な削除から、ほかのデータを守れます。
df.dropna(subset=['price'])なぜ欠損しているのかを考える
判断する前に、なぜ値が欠けているのかを考えましょう。randomに欠損しているデータは補完しても問題ありませんが、規則的な欠損自体が意味のあるシグナルである場合もあります。
簡単な目安
便利な目安は、欠損が少なければ削除し、行が貴重なら補完することです。どちらを選ぶ前にも、それぞれの方法でdistributionがどう変わるかを必ず検討してください。
クイックチェック
ある列の80%が空ですが、すべての行にはほかの列に有用なデータがあります。通常、最も賢明な対応は何でしょうか。
まとめ:意図を持って選ぶ
これで、どれだけデータを失うか、そしてなぜ値が欠損しているかに基づいて、dropとfillを比較できるようになりました。dropna、thresh、subsetを使って、慎重に削除しましょう。
AI チューターと学ぶ Python — 無料
ブラウザでリアルコードを書いて実行し、24/7 の AI チューターから瞬時にサポートを受け、ウェブまたはアプリで続きから学習できます。
- コース
- 30
- レッスン
- 120
よくある質問
「削除か補完か:賢く選ぶ」レッスンは無料ですか?
はい。「削除か補完か:賢く選ぶ」の完全なテキストはこのウェブで無料で読めます。インタラクティブに演習し(組み込みコードエディタと24時間対応のAIチューター)、Data Science Academyコースの残りをアンロックするには、CoddyKit PROにアップグレードしてください。 Data Science Academyコースには全4レッスンが含まれています。
「削除か補完か:賢く選ぶ」で何を学びますか?
削除する場合と補完する場合 ブラウザで直接実行するハンズオンコードでData Science Academyを演習し、24時間対応のAIチューターがレッスンを進める中での質問に答えます。
Data Science Academyを始めるのに経験は必要ですか?
事前経験は必要ありません。CoddyKitのData Science Academyは初級者から上級者向けに構成されているため、ここから始めるか最初から始めて、自分のペースで進むことができます。 これはレッスン2/4です。
「削除か補完か:賢く選ぶ」レッスンにはどのくらい時間がかかりますか?
ほとんどのCoddyKitレッスンは約5~10分かかります。各レッスンはコンパクトでインタラクティブなので、着実に進歩し、ウェブとアプリ全体で正確に前回の場所から再開できます。
このData Science Academyレッスンでコードを書いて実行できますか?
はい。すべてのData Science Academyレッスンに組み込みコードエディタが含まれているため、ブラウザでリアルコードを書いて実行し、即座のAIフィードバックを取得できます。ローカル設定は不要です。
このコースのすべてのレッスン
- テーブルに潜むNaNを見つける
- 削除か補完か:賢く選ぶ
- 平均、中央値、最頻値で補完する
- dtypeと重複行を修正する