どうもニコイチです。前回までデータ収集について詳しく見てきました。今回から探索的データ分析に入ります。この記事では、データ分析初心者や始めたばかりの方向けに、Pythonを使ったデータ分析の流れを丁寧に解説します。今回は「宿泊価格」に関連するデータ(宿泊価格について_demo.csv)を使用して、探索的データ分析(EDA)を行います。初心者がつまずきやすいポイントも詳しく説明するので、ぜひ一緒に進めてみてください!
全編はこちらから
探索的データ分析(EDA)とは?
探索的データ分析(Exploratory Data Analysis: EDA)とは、データの全体像を把握し、特徴やパターンを見つけるために行う分析プロセスです。これにより、仮説を立てたり、データの質を評価したりすることができます。
例えば、以下のようなことを行います:
- ハズレ値(極端に小さい値や大きい値)を見つける。
- 変数間の関係を探る。
- データの分布を把握する。
EDAの主なステップ
- 基本統計量の確認
- 平均値、中央値、最大値、最小値、分散などを確認。
- 可視化
- ヒストグラムや箱ひげ図、散布図などを使ってデータのパターンを視覚的に把握。
データを使った実践
以下の手順で、実際にEDAを行ってみましょう。
1. 必要なライブラリをインストール・読み込み
まずはPythonで必要なライブラリをインポートします。
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
- pandas: データを操作するためのライブラリ。
- matplotlib: グラフを描画するためのライブラリ。
- seaborn: 見やすいグラフを作成するためのライブラリ。
2. データの読み込み
CSVファイルを読み込みます。
data = pd.read_csv('宿泊価格について_demo.csv')
データが正しく読み込めたかを確認します。
print(data.head())
これでデータの最初の5行が表示されます。
3. データの基本情報を確認
print(data.info())
print(data.describe())
- info(): データの概要(欠損値やデータ型など)を確認。
- describe(): 基本統計量(平均値や標準偏差など)を確認。
4. データの可視化
(1) データの分布を見る
ヒストグラムで宿泊価格の分布を確認します。
sns.histplot(data['宿泊価格'], kde=True)
plt.title('宿泊価格の分布')
plt.xlabel('宿泊価格')
plt.ylabel('頻度')
plt.show()
(2) 箱ひげ図でハズレ値を確認
sns.boxplot(x=data['宿泊価格'])
plt.title('宿泊価格の箱ひげ図')
plt.show()
箱ひげ図では、四分位範囲を超えるデータがハズレ値として表示されます。
(3) 変数間の相関を確認
価格と他の変数との関係を散布図で確認します。
sns.pairplot(data)
plt.show()
相関係数を数値で確認することもできます。
print(data.corr())
注意ポイント
データの欠損値
データに欠損値がある場合は、その扱い方を決める必要があります。
print(data.isnull().sum())
- 欠損値を削除する:
data = data.dropna()
- 欠損値を埋める:
data['列名'] = data['列名'].fillna(値)
データのスケール
変数間の値のスケールが異なる場合、正規化や標準化を行うことで分析がしやすくなります。
from sklearn.preprocessing import StandardScaler
scaler = StandardScaler()
data_scaled = scaler.fit_transform(data)
まとめ
この記事では、Pythonを使った探索的データ分析の基本的な流れを解説しました。データを理解することで、分析の方向性を見つけたり、次のステップ(機械学習など)への準備ができます。
次は、実際にこの記事で説明した手順を試してみてください!質問や不明点があればお気軽にどうぞ。
コメント