データクレンジング——分析の前に整える
レッスン5:データクレンジング——分析の前に整える
このレッスンで学ぶこと
- データクレンジングが必要な理由を説明できる
- 欠損値・重複・外れ値・表記揺れの対処法を知る
- データ型の不整合に気づき、修正できる
- 「ゴミを入れたらゴミが出る」原則を理解する
レッスン4までで、データの種類・記述統計・可視化を学びました。実はここまでの内容は、すべて「きれいなデータ」が手元にある前提でした。現実のデータ分析では、ほとんどの場合、最初にデータを整える作業が必要です。このレッスンでは、その作業——「データクレンジング」——を学びます。
データクレンジングとは
データクレンジング(cleansing、または cleaning)は、データに含まれるエラー・欠損・重複・表記揺れなどを取り除き、分析できる状態に整える作業のことです。日本語では「データクリーニング」「データの前処理」とも呼ばれます。
実務のデータ分析では、全工程の半分以上の時間がクレンジングに費やされる、と言われることがあります。「分析」というと華やかな仕事に聞こえますが、地味な前処理がほとんど、というのが現実です。
💡 ポイント 「Garbage In, Garbage Out(ゴミを入れたらゴミが出る)」という言葉があります。略してGIGO(ガイゴ)と呼ばれます。入力するデータが汚れていれば、いくら高度な分析手法を使っても、出てくる結果はゴミ同然——という考えです。クレンジングは見栄えの悪い作業ですが、分析の質を決定づけます。
現実のデータは「汚れている」
理想的には、データは整然と入力されているべきです。しかし現実は次のような状態が普通です。
- 一部のセルが空欄になっている(欠損値)
- 同じ顧客が二重に登録されている(重複)
- ある月の売上が桁違いに大きい(外れ値)
- 「東京」「東京都」「Tokyo」が混在している(表記揺れ)
- 日付の列に「2026/05/12」と「2026-05-12」が混在している(データ型の不整合)
これらをそのまま分析にかけると、平均が狂ったり、グラフが歪んだり、結論を誤ったりします。次から、よくあるパターンと対処を順に見ていきます。
クレンジング1:欠損値の扱い
「データが入っていない」セルを欠損値と呼びます。Excelでは空白セル、データベースでは NULL と表現されることが多いです。
欠損値が発生する原因
- アンケートの未回答
- システムのバグや一時的な障害
- 取得時の物理的な問題(センサー不調など)
- 「該当なし」を意図的に空欄にした
欠損値への対処
主な対処は3つあります。
1つ目は「除外する」:欠損のある行を分析対象から外す。シンプルだが、データ量が大きく減ることもある。
2つ目は「補完する」:平均・中央値・最頻値などで埋める。簡便だが、本当の値とずれる危険がある。
3つ目は「『欠損あり』として扱う」:欠損していること自体を1つの情報とみなし、新たなカテゴリ(例:「未回答」)を作る。
⚠️ 注意 欠損値を機械的に「0」で埋めるのはやめましょう。例えば「年齢」の欠損を0で埋めると、平均年齢が大きく下がってしまいます。0と「未入力」は別の意味です。
クレンジング2:重複データの除去
同じデータが2回以上記録されていることも、よくあります。
- 同じメールアドレスで2度登録された顧客
- システムエラーで同じ取引が2回記録された
- 別の人がコピー&ペーストで同じ行を作ってしまった
重複を放置すると、人数・件数の集計が二重にカウントされてしまいます。
重複への対処
ExcelやGoogleスプレッドシートには、重複を取り除く機能が標準で備わっています。
- Excel:「データ」タブの「重複の削除」
- Googleスプレッドシート:「データ」→「データクリーンアップ」→「重複を削除」
ただし、機械的に削除する前に「どの列が一致したら重複とみなすか」を考える必要があります。例えば「氏名と電話番号が一致したら重複」と判断するか、「メールアドレスのみで判断する」かで結果が変わります。
💡 ポイント 重複の判定基準は、データの性質によって変わります。慎重に検討せず削除すると、本来は別の顧客だったデータをまとめて消してしまう危険があります。
クレンジング3:外れ値の扱い
外れ値(outlier)は、ほかのデータから大きく外れた値のことです。例えば、月平均10万円の売上の中で、ある月だけ1,000万円という値が混じっているような場合です。
外れ値の原因
- データ入力ミス(桁を間違えた)
- センサー異常や測定エラー
- 本当に特別なイベントが起きた
- 別の集団のデータが紛れ込んでいる
外れ値への対処
外れ値を見つけても、すぐに削除してはいけません。まず「なぜそうなったか」を調べるのが原則です。
- 単なるミスなら、修正または除外
- 本当の特別なイベントなら、注釈をつけて残す
- 別の集団なら、分析対象を分ける
外れ値を機械的に除外すると、肝心の重要な情報を見落とすことがあります。例えば「あるキャンペーン日だけ売上が10倍になった」という外れ値は、貴重なヒットの記録かもしれません。
⚠️ 注意 外れ値は「異常値」とも「特別値」とも言える曖昧な存在です。データを見て「なぜ」を考えるクセをつけましょう。
クレンジング4:表記揺れの統一
同じものを違う書き方で記録してしまう「表記揺れ」も、現場で頻発します。
例:
- 「東京都」「東京」「Tokyo」「とうきょう」
- 「株式会社○○」「(株)○○」「○○株式会社」
- 「2026/05/12」「2026-05-12」「2026年5月12日」
これらをそのままにすると、「東京都」と「東京」が別カテゴリとして集計され、実態と違う結果が出ます。
対処
表記揺れの解消は、項目によって方針が変わります。
- 都道府県・市区町村:マスタを用意して照合(例:総務省の地方公共団体コード)
- 企業名:標準化ルールを決める(例:「株式会社」は前置で統一)
- 日付・時刻:ツールの機能でフォーマットを揃える
Excelの「検索と置換(Ctrl + H)」や、関数の SUBSTITUTE、Googleスプレッドシートの正規表現を使った置換などで対処できます。
💡 ポイント 表記揺れを完全に防ぐには、データ入力の段階でリスト選択式(プルダウン)にする、必須項目のバリデーション(妥当性チェック)を入れるなど、入力時の工夫が効果的です。クレンジングで毎回直すより、入り口で揃える方が長い目で見て楽です。
クレンジング5:データ型の不整合
「数値の列に文字列が混じっている」「日付の列にいろいろなフォーマットが混在している」といった、データ型の不整合もよくあります。
例:
- 「金額」列に
1,000と1000と"1,000円"が混在 - 「日付」列に
2026/5/12と2026-05-12と5月12日が混在
これがあると、Excelの合計関数が正しく動かなかったり、並べ替えが意図と違う順序になったりします。
対処
- 数値列:カンマや単位を取り除き、純粋な数値に統一
- 日付列:標準的なフォーマット(
YYYY-MM-DDなど)に統一 - カテゴリ列:表記揺れを統一
ExcelもGoogleスプレッドシートも、データ型を視覚的に区別する機能を持っています(数値は右寄せ、文字列は左寄せがデフォルト)。データを並べたときに表示位置がそろっていない列があれば、データ型の不整合を疑いましょう。
クレンジング作業の進め方
実際にデータを整えるときは、次の順序で進めるのがおすすめです。
- データの全体像をつかむ:行数・列数・各列の中身をざっと確認する
- データ型を揃える:数値・日付・文字列を、それぞれの型に整理する
- 重複を取り除く:判定基準を決めて重複行を除去
- 欠損値を確認する:どの列にどれだけ欠損があるか把握し、対処方針を決める
- 表記揺れを統一する:同じものを違う書き方で表現していないか確認
- 外れ値を調べる:異常な値を見つけたら原因を確認
最後に、クレンジング前後でデータの行数・主要な集計値(合計・平均など)を比べ、想定外の変化がないかを確認します。
🔰 初学者の方へ クレンジングは地道で時間のかかる作業ですが、慣れるほど早くなります。最初はチェックリストを手元に置き、1つずつ確認するクセをつけましょう。慣れてくると、データを見ただけで「ここに欠損が多そう」「この列は表記揺れがありそう」と勘が働くようになります。
まとめ
このレッスンでは、以下のことを学びました。
- データクレンジングは、データを分析できる状態に整える作業で、全工程の半分以上を占めることもある
- 「ゴミを入れたらゴミが出る(GIGO)」が基本原則
- 主な対処対象は、欠損値・重複・外れ値・表記揺れ・データ型の不整合
- 欠損値を機械的に0で埋める、重複を判定基準を考えずに削除する、外れ値を理由なく除外する、はやってはいけない代表的な悪手
- 作業順序は「全体像→データ型→重複→欠損→表記揺れ→外れ値」が目安
次のレッスンでは、整えたデータを使った分析の中核となる「相関と因果」を学びます。「2つのデータに関係がある」のと「片方が原因でもう片方が結果である」のは、まったく違う話です。データ分析でもっとも誤解されやすいテーマを丁寧に扱います。
確認クイズ
このレッスンの理解度をチェックしましょう。