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

【Pandas】.plot.scatterで散布図を作成する

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

散布図とは?

散布図は、2つの変数の関係を視覚的に表現するグラフです。それぞれのデータポイントを、x軸とy軸に対応する値を持つ点としてプロットします。これにより、2つの変数の間に相関関係があるかどうか、どのような関係があるのかを把握することができます。

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

Python
DataFrame.plot.scatter(x, y, s=None, c=None, **kwargs)

パラメータ:

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

プログラム例

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

# サンプルデータの作成
np.random.seed(0)
data = {
    'Height': np.random.normal(170, 10, 100),
    'Weight': np.random.normal(60, 10, 100)
}
df = pd.DataFrame(data)

# 散布図の作成
df.plot.scatter(x='Height', y='Weight', figsize=(8, 6), title='Height vs Weight')
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()

解説:

  1. pandasmatplotlib.pyplotnumpyをインポートします。
  2. 乱数を用いてサンプルデータを作成し、DataFrameに格納します。
  3. df.plot.scatter()メソッドで散布図を作成します。
    • x='Height'でx軸に’身長’列を使用することを指定します。
    • y='Weight'でy軸に’体重’列を使用することを指定します。
    • figsize=(8, 6)でグラフのサイズを指定します。
    • title='Height vs Weight'でグラフのタイトルを指定します。
  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 = {
    'Height': np.random.normal(170, 10, 100),
    'Weight': np.random.normal(60, 10, 100),
    'Age': np.random.randint(20, 60, 100)
}
df = pd.DataFrame(data)

# 散布図の作成
df.plot.scatter(x='Height', 
               y='Weight', 
               s=df['Age'],  # 年齢に応じて点のサイズを変更
               c='Age',  # 年齢に応じて色分け
               colormap='viridis',  # カラーマップを'viridis'に変更
               figsize=(8, 6), 
               title='Height vs Weight',
               marker='s',  # マーカーを四角に変更
               grid=True  # グリッド線を表示
              )
plt.xlabel('Height (cm)')
plt.ylabel('Weight (kg)')
plt.show()

解説:

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

参考になるWEBサイト

これで、Pandasの.plotメソッドを使ったグラフ作成の全11回のシリーズ記事が完結しました。これらの記事が、皆様のデータ分析に役立つことを願っています。

今回も少しだけPRです。

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

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

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

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