Seabornで箱ひげ図(ボックスプロット)を作成する方法 – Python・Pandas入門
データ分析において、外れ値の検出や分布の把握に欠かせないのが箱ひげ図(ボックスプロット)です。Pythonの可視化ライブラリ「Seaborn」を使えば、カテゴリごとのデータ分布を美しい箱ひげ図として簡単に描画できます。
本記事では、seaborn.boxplot()関数を使用して箱ひげ図を作成する具体的な手順を、サンプルコード付きでわかりやすく解説します。
箱ひげ図とは?
箱ひげ図は、データの中央値、四分位範囲(IQR)、最小値・最大値、そして外れ値を一目で確認できる強力な可視化手法です。特に、カテゴリ変数と数値変数の関係を比較する際に非常に役立ちます。
準備:必要なライブラリのインポート
まず、今回使用する3つのライブラリをインポートします。Seabornはグラフ描画用、Pandasはデータ操作用、Matplotlibは表示制御用です。
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
CSVファイルからデータを読み込む
次に、Pandasのread_csv()メソッドを使って、CSVファイルのデータをDataFrameとして読み込みます。ここではクライケット選手のデータが格納された「Cricketers.csv」を使用します。
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")例1:年齢と身長の関係を箱ひげ図で可視化
それでは実際にコードを見ていきましょう。以下の例では、「Age(年齢)」をx軸、「Height(身長)」をy軸とした箱ひげ図を描画しています。
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
# CSVファイルからデータをPandas DataFrameに読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")
# Age(年齢)とHeight(身長)で箱ひげ図を描画
sb.boxplot(dataFrame['Age'], dataFrame['Height'])
# y軸(身長)にラベルを設定
plt.ylabel("Height (inches)")
# グラフを表示
plt.show()実行結果
上記のコードを実行すると、年齢ごとの身長の分布を示す箱ひげ図が出力されます。各年齢層における身長のばらつきや外れ値を視覚的に確認できます。

例2:単一変数の箱ひげ図を作成する
続いて、もう少しシンプルな例をご紹介します。引数を1つだけ指定すると、その変数単体の分布を示す箱ひげ図が描画されます。
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
# CSVファイルからデータをPandas DataFrameに読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")
# Age(年齢)のみで箱ひげ図を描画
sb.boxplot(dataFrame['Age'])
plt.show()実行結果
このコードを実行すると、年齢データ全体の分布を表す箱ひげ図が表示されます。中央値の位置や四分位範囲、外れ値の有無がひと目でわかります。

まとめ
Seabornのboxplot()関数を使えば、わずか数行のコードで洗練された箱ひげ図を作成できます。ポイントは以下の通りです。
- 引数を2つ指定すると、カテゴリ別の分布比較が可能
- 引数を1つだけ指定すると、単一変数の分布を可視化できる
plt.ylabel()などで軸ラベルを追加すると、より読みやすいグラフになる
データの前処理や品質チェックの際にも活躍する箱ひげ図。ぜひ日々のデータ分析業務に取り入れてみてください。
-
Python Pandas入門:Seabornで棒グラフを作成し、バーのスタイルをカスタマイズする方法
Seabornの棒グラフ(Bar Plot)とは Seabornの棒グラフは、点推定値とその信頼区間を長方形のバーとして視覚的に表現するためのグラフです。作成には seaborn.barplot() 関数を使用します。さらに、facecolor(塗りつぶし色)、linewidth(線の太さ)、edgecolor(枠線の色)というパラメータを指定することで、バーの見た目を自由にカスタマイズできます。 使用するデータセット 本記事では、次のCSVファイル「Cricketers2.csv」をデータセットとして使用します。このファイルには、クリケット選手の役割(Role)や試合数(Matches)な
-
Python Pandas入門:Seabornで箱ひげ図の上にスウォームプロット(観測値の群れ)を重ねて描画する方法
データ分析において、分布の全体像を把握しながら個々のデータポイントも確認したい場面は多くあります。Seabornのスウォームプロット(Swarm Plot)は、点同士が重ならないように配置されたカテゴリ別散布図を描画する機能で、seaborn.swarmplot()を使用して実現できます。 本記事では、seaborn.boxplot()で描いた箱ひげ図の上に、このスウォームプロットを重ねて表示する方法を解説します。箱ひげ図だけでは見えない外れ値やデータの偏りを、視覚的に把握できるようになります。 前提条件と準備 まず、必要なライブラリをインポートします。Seaborn、Pandas、NumPy