atom.data-analyst.clean-missing-values
欠損と空欄を整理する
欠損と空欄を整理する たとえば、あなたがイベントの参加者リストを整理しているとします。「名前」はあるのに「電話番号」が空っぽ……そんな行があちこちに散らばっていると、集計も連絡もスムーズにいきません。 この Ato...
成果物成果物このレッスンが終わったとき、あなたの手元に残る具体的な成果物です(例: 公開済みの Web ページ、動作するフォームなど)。
証跡証跡成果物が正しく作れたことを確認するためのチェックリストです(例: ブラウザで動作する、フォーム送信で値が保存される)。
メディアメディアレッスン内に出てくる図や動画のスロットです。実際の画面やイメージで理解を補助します。
レッスン本文
欠損と空欄を整理する
たとえば、あなたがイベントの参加者リストを整理しているとします。「名前」はあるのに「電話番号」が空っぽ……そんな行があちこちに散らばっていると、集計も連絡もスムーズにいきません。
この Atom では、データ(=表形式の情報)の「空欄・欠損(=値が入っていないセル)」を見つけて、扱いやすい形に整理する方法を学びます。AI ツールの力を借りて、手作業では何時間もかかる作業を数分で終わらせましょう。

前提を確認する
この Atom を進める前に、次の準備が整っていることを確認してください。
- 手元に CSV ファイル(=カンマ区切りの表データ。Excel で「名前を付けて保存」→「CSV」を選ぶと作れます)がある
- ChatGPT や Claude などの AI チャットツールにブラウザからアクセスできる
特別なソフトウェアのインストールは不要です。ブラウザで AI ツールを開くだけで始められます。
サンプルデータで試したい方へ: 手元に CSV がない場合は、AI に「練習用の参加者リスト CSV を 20 行ぶん作ってください。名前・年齢・電話番号・住所の 4 列で、空欄や N/A を 5 箇所ほど混ぜてください」と頼むと、すぐに練習用データが手に入ります。
欠損のパターンを知る
データの空欄には、大きく分けて 3 つのパターンがあります。料理にたとえると、「材料がまるごと買い忘れ」「一品だけ足りない」「賞味期限切れの材料が混ざっている」のようなイメージです。
- まるごと空欄 — その列の値が最初から存在しない(例: 「電話番号」列が全行空っぽ)
- 一部だけ空欄 — ある行だけ値が抜けている(例: 3 行目だけ年齢が空)
- 見た目は埋まっているが中身がおかしい — 「N/A」「不明」「-」「該当なし」など、実質的に空欄と同じ値が入っている
良い例: 「年齢」列に 25, 30, (空欄), 40 と並んでいる → 3 行目が「一部だけ空欄」と分かり、その行だけ対応を考えればよい
悪い例: 空欄を自分で 0 と埋めてしまう → 「本当は未回答なのに 0 歳扱い」になり、平均年齢の計算結果が大きく崩れる

AI に欠損を見つけてもらう
実際の手順を進めましょう。ここでは ChatGPT を例に説明しますが、Claude でも同じ流れで使えます。
ステップ 1: AI にファイルを渡して調べてもらう
- ChatGPT(または Claude)を開く
- CSV ファイルを添付する(チャット入力欄の「+」やクリップのアイコンをクリック)
- 次のプロンプト(=AI への指示文)をコピーして貼り付け、送信する
添付したCSVファイルの中から、空欄・「N/A」・「不明」・「-」・「該当なし」となっているセルをすべて見つけてください。
結果は次の形式で教えてください:
1. 列ごとの欠損数(例: 電話番号 → 12件)
2. 全体の欠損率(欠損セル数 ÷ 全セル数 × 100)
3. 欠損が多い列トップ3
この指示を送るだけで、AI があなたの代わりに全データをチェックしてくれます。
ステップ 2: AI の回答を読み解く
AI が返してきた一覧を見て、次の 3 点をチェックします。
- 欠損率は何 % か? — 5% 未満なら影響は小さい。20% 以上なら慎重に対応を考える
- すぐ埋められるものはないか? — 自分が知っている情報なら手で埋める方が確実
- 空欄に意味はあるか? — 「未回答」という事実自体に価値がある場合もある
良い例: 「『電話番号』列に 12 件の空欄、『住所』列に 3 件の空欄があります。全体の欠損率は 3.8% です」 → 具体的で次の対応が決めやすい
悪い例: 「データに欠損があります」だけの回答 → どこに・どれくらいあるか分からず対応できない。この場合は「列ごとの件数も教えてください」と追加で聞き返しましょう
整理方法を選ぶ
欠損の扱い方には、代表的な 3 つの方法があります。どれを選ぶかは「そのデータをどう使いたいか」で決まります。
| 方法 | どんなときに使うか | 注意点 |
|---|---|---|
| 削除する | 空欄が全体の 5% 未満で、その行がなくても困らない場合 | 削除しすぎるとデータが偏る |
| 特定の値で埋める | 平均値や「不明」で代用しても集計に影響が少ない場合 | 平均値で埋めると実態とズレることがある |
| そのまま残す | 「未回答」という情報自体に意味がある場合 | あとで集計するときに除外する工夫が必要 |
どの方法を選ぶか迷ったら、AI に相談できます。
このデータの欠損状況を踏まえて、各列の空欄をどう処理するのがベストか提案してください。理由も教えてください。
良い例: 参加者 100 人のうち 2 人だけ住所が空欄 → 「2 行を削除」で全体への影響はほぼゼロ
悪い例: 参加者 100 人のうち 40 人が年齢未回答 → 「40 行を削除」でデータが半減し、集計結果が信用できなくなる
AI に整理を実行してもらう
方法が決まったら、AI に具体的な指示を出して実行してもらいましょう。
次のルールでデータを整理してください:
- 「電話番号」列の空欄がある行 → 行ごと削除
- 「備考」列の空欄 → 「特になし」で埋める
- 「年齢」列の空欄 → 列全体の平均値(小数点以下は四捨五入)で埋める
整理後のデータをCSV形式で出力してください。
変更した箇所の一覧(何行目の何列をどう変えたか)も教えてください。
ポイントは「変更箇所の一覧も教えてください」という一文です。これがあると、あとで検証するときにどこが変わったかすぐ分かります。

整理結果を検証する
AI が出力した整理済みデータを受け取ったら、次のチェック項目で確認します。
- 行数の変化: 削除した行数分だけ全体の行数が減っているか
- 空欄ゼロ確認: 意図して残した空欄以外はすべて埋まっているか
- データの崩れ: 列がずれたり、文字化けしたりしていないか
- 埋めた値の妥当性: 平均値で埋めた列の数値が極端に偏っていないか
AI に検証を手伝ってもらうこともできます。
整理後のCSVについて、以下を確認してください:
1. 空欄がゼロになっているか
2. 整理前と整理後の行数の差
3. 「年齢」列の平均値が整理前後で大きく変わっていないか
良い例: 整理前 200 行 → 整理後 195 行。空欄は「備考」列の「特になし」のみ。年齢の平均値は整理前 32.1 歳 → 整理後 32.3 歳でほぼ変わらない
悪い例: 整理前 200 行 → 整理後 50 行。削除しすぎてデータとして使えない → 方法の選択に戻って見直す
つまずきやすいポイントを押さえる
よくあるつまずきと対処法をまとめます。
| つまずき | 対処法 |
|---|---|
| AI がファイルを読み込めない | CSV 形式で保存し直す。Excel の場合は「名前を付けて保存」→「CSV UTF-8」を選ぶ |
| 空欄を見落としている | 「N/A」「-」「不明」「空白」「該当なし」も欠損扱いするよう指示文に追加する |
| 日本語が文字化けする | ファイルの文字コード(=文字の保存方式)を「UTF-8」にして保存し直す |
| AI が勝手に値を埋めてしまった | 「まず欠損箇所の一覧だけ出してください。埋める処理はまだしないでください」と指示を分ける |
| 整理後のデータがおかしい | 「整理前と整理後を比較して、変更点を一覧にしてください」と AI に確認を頼む |
完了を確認する
次のチェックリストがすべて OK なら、この Atom は完了です。
- CSV ファイルを AI に渡して、欠損箇所の一覧を取得できた
- 各列の欠損に対して「削除・埋める・残す」のどれにするか判断できた
- AI に整理を実行してもらい、整理済み CSV を手元に保存できた
- 整理後のデータに意図しない空欄が残っていないことを確認できた
まとめ
この Atom では、データの空欄・欠損を見つけて整理する基本手順を学びました。
- AI に欠損を一覧してもらう
- 整理方法(削除・埋める・残す)を選ぶ
- AI に実行してもらい、結果を検証する
この「見つける → 判断する → 実行する → 検証する」の 4 ステップは、データ整理のあらゆる場面で使える基本パターンです。次は、この整理済みデータを使って分析やレポート作成に進みましょう。
種類: markdown_doc
検証: basic_manual_check_v1
証跡証跡成果物が正しく作れたことを確認するためのチェックリストです(例: ブラウザで動作する、フォーム送信で値が保存される)。
メディア
必須
なし
あると楽
なし