6.Pythonではじめるデータ分析:宿泊価格予測入門-欠損値編-

PR表記

※アフィリエイト広告を利用しています

どうもニコイチです。前回データについて把握することができました。しかし、データ分析を始めると、最初につまづきやすいポイントがいくつかあります。その中でも「欠損値の扱い」は重要でありながら、難しく感じる部分です。この記事では、初心者の方がスムーズに理解し、実践できるよう、欠損値の確認と処理方法について分かりやすく解説します。

全編はこちらから


目次

1. 欠損値とは?

欠損値とは、本来得られるべきデータが欠落している状態のことを指します。

具体例

  • アンケートの未回答項目(例: 性別が未記入)
  • センサーや計測器の不具合で得られなかったデータ

表形式のデータでの欠損値の例

出身年齢性別
神奈川31
東京NaN
大阪46
北海道18NaN

上記の例では、空欄やNaN(Not a Number)が欠損値です。


2. なぜ欠損値を処理する必要があるのか?

欠損値を放置すると、以下のような問題が発生します。

  • データ分析やモデル構築時にエラーが発生する。
  • 正しい分析結果が得られない。

3. 欠損値の確認方法

Pandasを使うと、データ内に欠損値が含まれているかを簡単に確認できます。

サンプルコード

まず、CSVファイルを読み込んで、欠損値を確認してみましょう。

import pandas as pd

# CSVファイルの読み込み
data = pd.read_csv("宿泊価格について_demo.csv")

# 欠損値の確認
print(data.isnull().sum())

このコードでは、isnull()関数を使って欠損値をTrueとしてカウントし、sum()で各列ごとの欠損値の数を出力します。


4. 欠損値の種類

欠損値には2種類あります。

  1. 明確な欠損値
    • NaNや空白など、Pandasが自動で判別できる欠損値。
  2. あいまいな欠損値
    • ?--のように、人間がデータ収集時に加えた特別な値。Pandasでは自動判別できないため、事前に把握しておく必要があります。

この記事では、初心者向けに1の「明確な欠損値」を中心に解説します。


5. 欠損値の処理方法

欠損値を処理する方法は大きく2つに分けられます。

方法1: 欠損値を削除する

データ量に余裕がある場合、欠損値を含む行を削除するのが最も簡単な方法です。

サンプルコード

# 欠損値を含む行を削除
data_cleaned = data.dropna()

# 確認
print(data_cleaned)

方法2: 欠損値を他の値で補間する

データを削除したくない場合は、欠損値を平均値や最頻値で補間します。

サンプルコード

# 数値型の欠損値を平均値で補間
data['価格'] = data['価格'].fillna(data['価格'].mean())

# 質的データ(カテゴリ型)の欠損値を最頻値で補間
data['部屋タイプ'] = data['部屋タイプ'].fillna(data['部屋タイプ'].mode()[0])

# 確認
print(data)

6. 実践: 実際に「宿泊価格について_demo.csv」で試してみよう

以下は、実際のデータで欠損値を確認し、処理する例です。

サンプルコード

# CSV読み込み
data = pd.read_csv("宿泊価格について_demo.csv")

# 欠損値の確認
print("欠損値の確認:\n", data.isnull().sum())

# 欠損値を削除する例
data_dropped = data.dropna()

# 平均値で補間する例(価格列)
data['価格'] = data['価格'].fillna(data['価格'].mean())

# 処理後のデータ確認
print("処理後のデータ:\n", data)

7. まとめ

  • 欠損値とは、データの一部が欠落している状態を指します。
  • 欠損値を放置すると、分析やモデル構築に影響が出ます。
  • 欠損値はisnull()sum()を使って簡単に確認できます。
  • 処理方法は「削除する」か「補間する」の2つがあります。

欠損値の扱いを正しく行うことで、より正確なデータ分析が可能になります。Pythonでデータ分析を始める第一歩として、この記事の内容をぜひ実践してみてください!

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

コメント

コメントする

CAPTCHA


目次