Python・Pandas入門:Seabornでカテゴリ変数ごとにグループ化した縦向きの箱ひげ図(ボックスプロット)を描く方法
Seabornの箱ひげ図(Box Plot)は、カテゴリごとのデータ分布を視覚的に比較するための強力なツールです。中央値、四分位範囲、外れ値などをひと目で確認できるため、カテゴリ変数と数値変数の関係を分析する際によく使われます。
縦向きの箱ひげ図を作成するには、seaborn.boxplot() 関数を使用します。x軸にカテゴリ変数、y軸に数値変数を指定するだけで、自動的にカテゴリ別にグループ化されたプロットが描画されます。
使用するデータセット
ここでは、次のような内容を持つCSVファイル「Cricketers.csv」をデータセットとして使用します。クリケット選手の所属アカデミー(Academy)や年齢(Age)などの情報が含まれています。
必要なライブラリのインポート
まず、Seaborn・Pandas・Matplotlibの各ライブラリをインポートします。
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt
CSVファイルからデータを読み込む
次に、pd.read_csv() を使ってCSVファイルのデータをPandas DataFrameに読み込みます。
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")縦向きの箱ひげ図を描画する
x軸に「Academy」(カテゴリ変数)、y軸に「Age」(数値変数)を指定して、アカデミーごとの年齢分布を示す縦向きの箱ひげ図を描きます。
sb.boxplot(x='Academy', y='Age', data=dataFrame)
これにより、各アカデミーを横並びにした縦向きの箱ひげ図が生成され、アカデミー間での年齢分布の違いや外れ値の有無を簡単に比較できます。
完全なサンプルコード
以下に、最初から最後までの一連のコードをまとめて示します。
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")
# Academy と Age を使って縦向きの箱ひげ図を描画
sb.boxplot(x='Academy', y='Age', data=dataFrame)
# グラフを表示
plt.show()実行結果
上記のコードを実行すると、アカデミーごとに年齢の分布を比較できる縦向きの箱ひげ図が出力されます。箱の中の線は中央値、箱の上下端は第1四分位数と第3四分位数を表し、ひげの外にある点は外れ値として表示されます。
-
Python Pandas入門:Seabornで箱ひげ図の上にスウォームプロット(観測値の群れ)を重ねて描画する方法
データ分析において、分布の全体像を把握しながら個々のデータポイントも確認したい場面は多くあります。Seabornのスウォームプロット(Swarm Plot)は、点同士が重ならないように配置されたカテゴリ別散布図を描画する機能で、seaborn.swarmplot()を使用して実現できます。 本記事では、seaborn.boxplot()で描いた箱ひげ図の上に、このスウォームプロットを重ねて表示する方法を解説します。箱ひげ図だけでは見えない外れ値やデータの偏りを、視覚的に把握できるようになります。 前提条件と準備 まず、必要なライブラリをインポートします。Seaborn、Pandas、NumPy
-
Python Pandas・Seabornのswarmplotで2つのカテゴリ変数を使ってデータをグループ化する方法
Seabornのスウォームプロット(Swarm Plot)は、点が重ならないように配置されたカテゴリ別散布図を描画するための機能です。この描画には seaborn.swarmplot() を使用します。スウォームを2つのカテゴリ変数でグループ化したい場合は、swarmplot() の x、y、または hue パラメータにそれらの変数を指定します。 ここでは、CSVファイル「Cricketers2.csv」に保存されたデータセットを例に説明します。 必要なライブラリのインポート まず、必要なライブラリをインポートします。 import seaborn as sb import pandas as