サイトアイコン アマチュア無線局JS2IIU

【Pandas】.plot.hexbinでビニングプロットを作成する

こんにちは、JS2IIUです。

Pandasは、Pythonでデータ分析を行うための強力なライブラリです。その中でも、.plotメソッドは、データフレームから簡単にグラフを作成できる便利な機能です。今回は、.plot.hexbinメソッドを使って、ビニングプロットを作成する方法を解説します。

ビニングプロットとは?

ビニングプロットは、散布図に似たグラフですが、2つの変数の関係を六角形のビンで表現します。各ビンは、データ空間を分割した小さな領域を表し、ビン内のデータポイントの数を色で表します。 これにより、データの密度や分布を視覚的に把握することができます。特に、大量のデータポイントを扱う場合に、散布図よりも効果的にデータの傾向を把握できます。

.plot.hexbinメソッドのシグネチャ

Python
DataFrame.plot.hexbin(x, y, C=None, reduce_C_function=None, gridsize=None, **kwargs)

パラメータ:

kwargsでよく使うパラメータ:

プログラム例

Python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# サンプルデータの作成
np.random.seed(0)
data = {
    'x': np.random.randn(1000),
    'y': np.random.randn(1000)
}
df = pd.DataFrame(data)

# ビニングプロットの作成
df.plot.hexbin(x='x', y='y', gridsize=20, figsize=(8, 6), title='Bining Plot')
plt.xlabel('x')
plt.ylabel('y')
plt.show()

解説:

  1. pandasmatplotlib.pyplotnumpyをインポートします。
  2. 乱数を用いてサンプルデータを作成し、DataFrameに格納します。
  3. df.plot.hexbin()メソッドでビニングプロットを作成します。
    • x='x'でx軸に’x’列を使用することを指定します。
    • y='y'でy軸に’y’列を使用することを指定します。
    • gridsize=20でビンの数を20に指定します。
    • figsize=(8, 6)でグラフのサイズを指定します。
    • title='ビニングプロット'でグラフのタイトルを指定します。
  4. plt.xlabel()でx軸のラベルを指定します。
  5. plt.ylabel()でy軸のラベルを指定します。
  6. plt.show()でグラフを表示します。

カスタマイズ例

Python
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np

# サンプルデータの作成
np.random.seed(0)
data = {
    'x': np.random.randn(1000),
    'y': np.random.randn(1000),
    'z': np.random.randn(1000),
}
df = pd.DataFrame(data)

# ビニングプロットの作成
df.plot.hexbin(x='x', 
               y='y', 
               C='z',  # 色分けに'z'列を使用
               reduce_C_function=np.mean,  # 各ビンで'z'の平均値で色分け
               gridsize=20, 
               figsize=(8, 6), 
               title='Bining Plot',
               cmap='viridis',  # カラーマップを'viridis'に変更
               grid=True  # グリッド線を表示
              )
plt.xlabel('x')
plt.ylabel('y')
plt.show()

解説:

このように、kwargsで様々なパラメータを指定することで、グラフをカスタマイズすることができます。

参考になるWEBサイト

次回:

次回は、.plot.histメソッドを使ってヒストグラムを作成する方法を解説します。お楽しみに!

今回も少しだけPRです。

Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。

「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。

最後まで読んでいただきありがとうございます。73

モバイルバージョンを終了