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

【Pandas】.plot.kdeでKDEプロットを作成する

こんにちは、JS2IIUです。

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

KDEプロットとは?

KDEプロット(Kernel Density Estimation plot)は、カーネル密度推定を用いてデータの確率密度関数を推定し、滑らかな曲線で表示するグラフです。ヒストグラムのようにデータの分布を視覚化する方法ですが、ヒストグラムよりも滑らかで、データの分布をより正確に表現することができます。 .plot.densityと同じくカーネル密度推定プロットを作成できますが、.plot.kde.plot.densityのエイリアスなので、どちらを使っても同じ結果が得られます。

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

Python
DataFrame.plot.kde(bw_method=None, ind=None, **kwargs)

パラメータ:

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

プログラム例

Python
import pandas as pd
import matplotlib.pyplot as plt

# Sample data creation
data = {
    'Test Scores': [70, 80, 90, 60, 75, 85, 95, 65, 70, 80, 90, 75, 85, 95]
}
df = pd.DataFrame(data)

# KDE plot creation
df['Test Scores'].plot.kde(figsize=(8, 6), title='Distribution of Test Scores')
plt.xlabel('Score')
plt.ylabel('Density')
plt.show()

解説:

  1. pandasmatplotlib.pyplotをインポートします。
  2. サンプルデータを作成し、DataFrameに格納します。
  3. df['Test Scores'].plot.kde()メソッドでKDEプロットを作成します。
    • 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

# Sample data creation
data = {
    'Test Scores': [70, 80, 90, 60, 75, 85, 95, 65, 70, 80, 90, 75, 85, 95]
}
df = pd.DataFrame(data)

# KDE plot creation
df['Test Scores'].plot.kde(figsize=(8, 6),
                           title='Distribution of Test Scores',
                           bw_method=0.5,  # Specify bandwidth
                           xlim=(50, 100),  # Specify x-axis range
                           grid=True  # Display grid lines
                           )
plt.xlabel('Score')
plt.ylabel('Density')
plt.show()

解説:

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

参考になるWEBサイト

次回:

次回は、.plot.lineメソッドを使って折れ線グラフを作成する方法を解説します。お楽しみに!

今回も少しだけPRです。

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

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

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

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