
Pythonデータ分析入門
データ分析は、ビジネスや研究で得られるデータから洞察を引き出す重要なスキルです。
このガイドでは、Pythonによるデータ分析の基本的な流れを解説し、サンプルコードや注意点も交えながら説明します。
①Python環境のセットアップ
Pythonのインストール
Anacondaをインストールすると、Pythonと主要なライブラリ(NumPy, pandas, Matplotlibなど)がまとめて利用できます。
・Google Colab
Web上でPythonを実行できる環境で、インストール不要で使いやすいです。
推奨ライブラリ
NumPy
数値計算用
pandas
データ操作と分析用
Matplotlib / Seaborn
データ可視化用
scikit-learn
機械学習用
Jupyter Notebook
分析結果を共有しやすいインターフェース
以下のコマンドでこれらをインストールできます。
pip install numpy pandas matplotlib seaborn scikit-learn
Pythonによるあたらしいデータ分析の教科書 第2版 ↓
②データ分析の基本ステップ
❶データの取得
分析対象のデータを用意します。CSVファイル、Excel、SQLデータベース、APIから取得する場合が多いです。
例: CSVファイルを読み込む
import pandas as pd
# CSVファイルの読み込み
df = pd.read_csv('sample_data.csv')
# データの先頭5行を表示
print(df.head())
❷データの確認
データがどのような構造になっているかを理解します。
主な確認方法
行数・列数を確認
df.shape
データ型を確認
df.dtypes
欠損値の確認
df.isnull().sum()
# データの基本情報を表示
print(df.info())
# 各列の統計情報を表示
print(df.describe())
❸データの前処理
データ分析を進める前に、データの欠損値や異常値を処理します。
欠損値の処理
欠損値を削除
df.dropna()
欠損値を補完
df.fillna(value)
カテゴリ変数の変換
カテゴリデータを数値データに変換する場合は、pd.get_dummies()を使用します。
# 欠損値を平均値で補完
df['column_name'] = df['column_name'].fillna(df['column_name'].mean())
# カテゴリ変数をダミー変数に変換
df = pd.get_dummies(df, columns=['category_column'])
❹データの可視化
データをグラフ化することで、傾向やパターンを発見しやすくなります。
Matplotlibを使った基本的なプロット
import matplotlib.pyplot as plt
# 折れ線グラフ
plt.plot(df['x_column'], df['y_column'])
plt.xlabel('X軸')
plt.ylabel('Y軸')
plt.title('折れ線グラフ')
plt.show()
Seabornを使ったヒートマップ
import seaborn as sns
# 相関行列のヒートマップ
corr_matrix = df.corr()
sns.heatmap(corr_matrix, annot=True, cmap='coolwarm')
plt.title('相関行列のヒートマップ')
plt.show()
❺データ分析とモデリング
データ分析の結果をもとに、仮説を検証したり、予測モデルを構築します。
基本的な分析例: グループごとの平均値を計算
# カテゴリ列でグループ化し、平均を計算
grouped_data = df.groupby('category_column')['value_column'].mean()
print(grouped_data)
機械学習モデルの構築(例: 回帰分析)
from sklearn.linear_model import LinearRegression
from sklearn.model_selection import train_test_split
from sklearn.metrics import mean_squared_error
# 特徴量とターゲットを指定
X = df[['feature1', 'feature2']]
y = df['target']
# データを訓練用とテスト用に分割
X_train, X_test, y_train, y_test = train_test_split(X, y, test_size=0.2, random_state=42)
# モデルの訓練
model = LinearRegression()
model.fit(X_train, y_train)
# 予測と評価
y_pred = model.predict(X_test)
print('MSE:', mean_squared_error(y_test, y_pred))
Pythonによるデータ分析入門 第3版 ―pandas、NumPy、Jupyterを使ったデータ処理 ↓
③
注意点
❶データの品質を確認する
データが正確でない場合、分析結果も正確でなくなります。
特に外れ値や欠損値に注意が必要です。
❷視覚化は適切な方法を選ぶ
データの特性に応じたグラフを選ぶことが重要です。
❸目的を明確にする
ただデータを分析するだけではなく、ビジネスや研究の課題を明確にして進めましょう。
❹まとめ
Pythonを使ったデータ分析の流れは以下の通りです。
1. 必要なデータを取得
2. データの構造や品質を確認
3. 前処理で分析可能な形に整える
4. 可視化やモデリングを通じて洞察を得る
以下の練習問題を通じて、実践的なスキルを身につけましょう。
Pythonデータ分析 実践ハンドブック 実務で使えるデータ加工のテクニック ↓
練習問題
1. CSVファイルを読み込み、欠損値を確認して適切に処理してください。
2. グループ化操作を使用して、売上データをカテゴリ別に集計してください。
3. 相関行列を可視化し、強い相関のある変数を特定してください。
これらを実践することで、Pythonデータ分析の基本をマスターできるでしょう!