Python Seabornの箱ひげ図(ボックスプロット)を使ってカテゴリ別のデータを比較する方法
はじめに
Seabornは、Pythonでデータを可視化するための強力なライブラリです。洗練されたカスタムテーマと高水準のインターフェースを備えており、美しいグラフを少ないコード量で作成できます。
散布図は便利な可視化手法ですが、特定のカテゴリ内における値の分布しか把握できず、得られる情報には限りがあります。カテゴリ間でデータを比較したい場合には、別の手法が必要になります。そこで活躍するのが箱ひげ図(ボックスプロット)です。箱ひげ図を使うことで、四分位数に基づいてデータセット内の分布を直感的に理解できます。
箱ひげ図の構成要素
箱ひげ図は、箱から上下に伸びる縦線で構成されます。この線は「ひげ(ウィスカー)」と呼ばれ、上側・下側の四分位数の範囲外でデータがどのように変動しているかを示します。この特徴から、箱ひげ図は「ひげ図(ウィスカープロット)」とも呼ばれます。また、外れ値(異常値)は個別の点としてプロットされるため、分布全体の様子がひと目でわかります。
boxplot関数の構文
seaborn.boxplot(x, y, data, ...)
x軸とy軸に指定する列名、および対象となるデータフレームを引数として渡します。
実装例:アヤメ(Iris)データセットの比較
ここでは、品種ごとの「花びらの長さ(petal_length)」の分布を箱ひげ図で比較する例を紹介します。
import pandas as pd
import seaborn as sb
from matplotlib import pyplot as plt
my_df = sb.load_dataset('iris')
sb.boxplot(x = "species", y = "petal_length", data = my_df)
plt.show()コードの解説
- 必要なライブラリ(pandas、seaborn、matplotlib)をインポートします。
- Seabornの
load_dataset関数を使用して、アヤメ(iris)データセットを読み込みます。 - 読み込んだデータはデータフレームとして保存されます。
boxplot関数にデータフレームを渡し、x軸に「species(品種)」、y軸に「petal_length(花びらの長さ)」を指定します。- これにより、品種ごとの花びらの長さの分布を比較できる箱ひげ図が描画され、
plt.show()によって画面に表示されます。
まとめ
箱ひげ図を使用すると、中央値、四分位範囲、外れ値などを一目で確認でき、複数のカテゴリ間のデータ分布を効率的に比較できます。Seabornのboxplot関数を活用すれば、わずか数行のコードでこのような分析用グラフを作成できるため、探索的データ分析(EDA)において非常に有用な手法といえます。
-
PythonのSeabornライブラリでヒストグラムを表示する方法をわかりやすく解説
データ可視化の重要性 データ分析において、可視化は非常に重要なステップです。生の数値を一つずつ確認したり、複雑な計算を実行したりしなくても、グラフを見るだけでデータ全体の傾向や分布を直感的に把握できます。さらに、分析で得られた定量的な知見を、聴衆やチームメンバーに対して効果的に伝える手段としても活用できます。 Seabornとは Seabornは、Pythonでデータ可視化を行うためのライブラリの一つです。Matplotlibをベースにしており、洗練されたカスタムテーマと高水準なインターフェースを備えているのが特徴です。少ないコード量で美しい統計グラフを作成できるため、データサイエンスの分野
-
PythonとSeabornを使って散布図を表示する方法をわかりやすく解説
データ分析において可視化(ビジュアライゼーション)は非常に重要なステップです。数値を一つひとつ確認したり複雑な計算を行ったりしなくても、データに何が起きているのかを直感的に把握できるからです。その可視化を手軽に実現できるライブラリの一つが、Pythonの「Seaborn」です。 散布図(scatter plot)とは、データポイントをグラフ上に点として散りばめて分布を表現するグラフのことです。数値データの値をドットで表し、横軸・縦軸上の各ドットの位置が、それぞれのデータポイントの値を示します。散布図を使うことで、2つの変数間の関係性(相関)を視覚的に理解することができます。 ここでは、Sea