こんにちは、JS2IIUです。
Pandasは、Pythonでデータ分析を行うための強力なライブラリです。その中でも、.plotメソッドは、データフレームから簡単にグラフを作成できる便利な機能です。今回は、.plot.boxメソッドを使って、箱ひげ図を作成する方法を解説します。
箱ひげ図とは?
箱ひげ図(box plot)は、データの分布を視覚的に表現するグラフです。データの四分位数を箱とひげで表し、中央値、最大値、最小値、そして外れ値などをわかりやすく示します。
.plot.boxメソッドのシグネチャ
Python
DataFrame.plot.box(by=None, **kwargs)パラメータ:
- by: カラム名またはカラム名のリスト。指定したカラムでデータをグループ化して、グループごとに箱ひげ図を作成します。
- kwargs: その他のキーワード引数。Matplotlibのboxplot()関数に渡されます。
kwargsでよく使うパラメータ:
- vert: Trueに設定すると垂直方向の箱ひげ図、Falseに設定すると水平方向の箱ひげ図を作成します。デフォルトはTrueです。
- figsize: グラフのサイズをタプル(幅, 高さ)で指定します。
- title: グラフのタイトルを指定します。
- grid: Trueに設定するとグリッド線を表示します。
プログラム例
Python
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'Product A': [10, 12, 15, 13, 11, 14, 16, 18, 20, 17],
'Product B': [20, 22, 25, 23, 21, 24, 26, 28, 30, 27]
}
df = pd.DataFrame(data)
# 箱ひげ図の作成
df.plot.box(figsize=(8, 6), title='Comparison A and B')
plt.ylabel('Value')
plt.show()解説:
pandasとmatplotlib.pyplotをインポートします。- サンプルデータを作成し、DataFrameに格納します。
df.plot.box()メソッドで箱ひげ図を作成します。figsize=(8, 6)でグラフのサイズを指定します。title='製品Aと製品Bの比較'でグラフのタイトルを指定します。
plt.ylabel()でy軸のラベルを指定します。plt.show()でグラフを表示します。
カスタマイズ例
Python
import pandas as pd
import matplotlib.pyplot as plt
# サンプルデータの作成
data = {
'Product A': [10, 12, 15, 13, 11, 14, 16, 18, 20, 17],
'Product B': [20, 22, 25, 23, 21, 24, 26, 28, 30, 27]
}
df = pd.DataFrame(data)
# 箱ひげ図の作成
df.plot.box(figsize=(8, 6),
title='Comparison A and B',
vert=False, # 水平方向の箱ひげ図
grid=True, # グリッド線を表示
color=dict(boxes='r', whiskers='b', medians='g', caps='c') # 色を指定
)
plt.xlabel('Value')
plt.show()解説:
vert=Falseで水平方向の箱ひげ図にしています。grid=Trueでグリッド線を表示しています。colorパラメータで箱(boxes)、ひげ(whiskers)、中央値(medians)、キャップ(caps)の色を個別に指定しています。
このように、kwargsで様々なパラメータを指定することで、グラフをカスタマイズすることができます。
参考になるWEBサイト
次回:
次回は、.plot.densityメソッドを使ってカーネル密度推定プロットを作成する方法を解説します。お楽しみに!
今回も少しだけPRです。
Pandasについて詳しく知りたいかた、もっと使いこなしたい方におすすめの本です。数年前に購入しましたが、今も手元に置いて時々見返しています。
「pandasクックブック Pythonによるデータ処理のレシピ」Theodore Petrou著、黒川利明訳。
最後まで読んでいただきありがとうございます。73

