Python

PandasとMatplotlibを活用したデータ可視化

データ分析において「可視化」は非常に重要なステップです。大量の数値データを視覚的に整理することで、傾向やパターンを素早く把握し、洞察を得ることができます。Pythonには、データ可視化を強力にサポートするライブラリがいくつかありますが、その中でも PandasMatplotlib の組み合わせは、手軽かつ強力な可視化手段として広く活用されています。

本記事では、Pandasによるデータ操作の基本から始め、Matplotlibを活用したさまざまな可視化手法について具体的なコード例とともに解説します。データ分析初心者の方にもわかりやすいように、基本的な操作から実践的な可視化手法まで順を追って説明していきます。

1. はじめに

データ可視化の重要性

データ可視化には以下のような利点があります。

利点 説明
データの傾向を把握しやすい 数値だけでは見えにくい傾向や分布を直感的に理解できる
異常値を特定しやすい ヒストグラムや箱ひげ図を使うことで、外れ値を簡単に特定可能
意思決定の助けになる データのパターンを視覚的に把握することで、適切なアクションを検討しやすい

 

PandasとMatplotlibの役割

  • Pandas: データの読み込み・加工・変換を行うライブラリ
  • Matplotlib: グラフ描画を行うPythonの可視化ライブラリ

この2つを組み合わせることで、データの準備から可視化までをスムーズに実施できます。

 

2. Pandasによるデータ操作

データの読み込みと基本操作

まずは、Pandasを用いたデータの読み込み方法を紹介します。

import pandas as pd

# CSVファイルの読み込み
df = pd.read_csv("sample_data.csv")

# データの先頭5行を表示
print(df.head())

 

データのクリーニングと前処理

可視化の前に、データを適切に整形することが重要です。欠損値の処理や不要なデータの除去を行います。

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

# 欠損値を削除
df = df.dropna()

 

3. Matplotlibの基本と設定

Matplotlibのインストールと基本設定

Matplotlibを使用するには、以下のようにインストールします。

pip install matplotlib

 

次に、基本的な設定を行います。

import matplotlib.pyplot as plt

# 日本語フォントの設定(必要に応じて)
plt.rcParams['font.family'] = 'Arial'

 

 

4. 基本的なグラフの作成

折れ線グラフで時系列データを表示

df['date'] = pd.to_datetime(df['date'])
plt.plot(df['date'], df['value'], marker='o', linestyle='-')
plt.title("時系列データの可視化")
plt.xlabel("日付")
plt.ylabel("値")
plt.show()

 

棒グラフでカテゴリデータを比較

df.groupby('category')['value'].sum().plot(kind='bar')
plt.title("カテゴリ別の値の比較")
plt.xlabel("カテゴリ")
plt.ylabel("合計値")
plt.show()

 

ヒストグラムでデータの分布を確認

plt.hist(df['value'], bins=20, edgecolor='black')
plt.title("データの分布")
plt.xlabel("値")
plt.ylabel("頻度")
plt.show()

 

 

5. 高度なデータ可視化

散布図で相関関係を視覚化

plt.scatter(df['feature1'], df['feature2'], alpha=0.5)
plt.title("散布図による相関関係の可視化")
plt.xlabel("特徴1")
plt.ylabel("特徴2")
plt.show()

 

箱ひげ図でデータのばらつきを表示

df.boxplot(column='value', by='category', vert=False)
plt.title("箱ひげ図によるデータのばらつき")
plt.xlabel("値")
plt.ylabel("カテゴリ")
plt.show()

 

ヒートマップで相関行列を視覚化

import seaborn as sns

plt.figure(figsize=(8, 6))
sns.heatmap(df.corr(), annot=True, cmap='coolwarm')
plt.title("相関関係のヒートマップ")
plt.show()

 

6. 実践:サンプルデータセットの分析

公開データセットの紹介と読み込み

以下のようなオープンデータセットを活用して、実際にデータ分析を行うことができます。

データセット 説明
Iris Dataset さまざまな花の特徴を示したデータ
Titanic Dataset タイタニック号の乗客情報データ
Housing Dataset 住宅価格と特徴のデータ

データの読み込み例:

from sklearn.datasets import load_iris

iris = load_iris()
df = pd.DataFrame(iris.data, columns=iris.feature_names)
print(df.head())

 

データの探索的分析(EDA)と可視化

df.describe()  # 基本統計量の確認
df.hist(figsize=(10, 6), bins=20)
plt.show()

 

7. まとめ

PandasとMatplotlibを組み合わせることで、下記のデータ分析の効果が期待できます。

  • Pandasでデータの整理・前処理を実施
  • Matplotlibでデータを視覚的に分析
  • グラフの種類を組み合わせることで、より深い洞察が可能
ABOUT ME
りん
このブログでは、Web開発やプログラミングに関する情報を中心に、私が日々感じたことや学んだことをシェアしています。技術と生活の両方を楽しめるブログを目指して、日常で触れた出来事や本、ゲームの話題も取り入れています。気軽に覗いて、少しでも役立つ情報や楽しいひとときを見つけてもらえたら嬉しいです。