【Pandas】.plot.histでヒストグラムを作成する

Python
この記事は約6分で読めます。

こんにちは、JS2IIUです。

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

ヒストグラムとは?

ヒストグラムは、データの分布を視覚的に表現するグラフです。データをいくつかの区間に分け、各区間に入るデータの個数を棒グラフで表します。これにより、データの範囲、集中度、偏りなどを把握することができます。

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

Python
DataFrame.plot.hist(by=None, bins=10, **kwargs)

パラメータ:

  • by: カラム名またはカラム名のリスト。指定したカラムでデータをグループ化して、グループごとにヒストグラムを作成します。
  • bins: ビンの数を指定する整数。デフォルトは10です。
  • kwargs: その他のキーワード引数。Matplotlibのhist()関数に渡されます。

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

  • figsize: グラフのサイズをタプル(幅, 高さ)で指定します。
  • title: グラフのタイトルを指定します。
  • xlabel: x軸のラベルを指定します。
  • ylabel: y軸のラベルを指定します。
  • grid: Trueに設定するとグリッド線を表示します。
  • xlim: x軸の範囲をタプル(最小値, 最大値)で指定します。
  • ylim: y軸の範囲をタプル(最小値, 最大値)で指定します。
  • alpha: 透明度を指定します。0.0 (透明) から 1.0 (不透明) の間の値を指定します。
  • orientation: ‘horizontal’または’vertical’でヒストグラムの方向を指定します。デフォルトは’vertical’です。

プログラム例

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

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

# ヒストグラムの作成
df['Results'].plot.hist(bins=10, figsize=(8, 6), title='Exam Result Histgram')
plt.xlabel('Points')
plt.ylabel('Count')
plt.show()

解説:

  1. pandasmatplotlib.pyplotnumpyをインポートします。
  2. 乱数を用いてサンプルデータを作成し、DataFrameに格納します。
  3. df['試験結果'].plot.hist()メソッドでヒストグラムを作成します。
    • bins=10でビンの数を10に指定します。
    • 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 = {
    'Results': np.random.normal(75, 10, 100)
}
df = pd.DataFrame(data)

# ヒストグラムの作成
df['Results'].plot.hist(bins=20,  # ビンの数を20に変更
                         figsize=(8, 6), 
                         title='Exam Result Histgram',
                         alpha=0.7,  # 透明度を0.7に設定
                         grid=True,  # グリッド線を表示
                         orientation='horizontal'  # 水平方向のヒストグラム
                        )
plt.ylabel('Points')
plt.xlabel('Count')
plt.show()

解説:

  • bins=20でビンの数を20に変更しています。
  • alpha=0.7で透明度を0.7に設定しています。
  • grid=Trueでグリッド線を表示しています。
  • orientation='horizontal'で水平方向のヒストグラムを作成しています。

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

参考になるWEBサイト

次回:

次回は、.plot.kdeメソッドを使ってKDEプロットを作成する方法を解説します。お楽しみに!

今回も少しだけPRです。

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

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

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

コメント

タイトルとURLをコピーしました