Python
 Computer >> コンピューター >  >> プログラミング >> Python

【Python】PandasとSeabornで箱ひげ図を描画する方法|orderパラメータで表示順序を明示的に制御する

はじめに

Seabornの箱ひげ図(Box Plot)は、カテゴリごとのデータ分布を視覚的に把握するための強力なツールです。カテゴリ変数に対する数値データのばらつきや外れ値を一目で確認できるため、データ分析の現場で広く活用されています。

箱ひげ図の描画には seaborn.boxplot() 関数を使用します。このとき、order パラメータを指定することで、ボックスの表示順序を自由に制御できます。デフォルトではカテゴリが自動的に並べられますが、分析の意図に応じて任意の順序で表示したいケースは多いため、この方法を覚えておくと非常に便利です。

使用するデータセット

本記事では、クリケット選手の情報をまとめたCSVファイル「Cricketers.csv」をサンプルとして使用します。このデータには、所属アカデミー(Academy)や年齢(Age)などの項目が含まれています。

必要なライブラリのインポート

まず、Seaborn・Pandas・Matplotlibという3つのライブラリをインポートします。

import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt

CSVファイルからデータを読み込む

次に、CSVファイルの内容をPandasのDataFrameに読み込みます。

dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers.csv")

orderパラメータでボックスの順序を指定する

x軸に「Academy」、y軸に「Age」を指定して箱ひげ図を描画します。ここで重要なのが order パラメータです。リスト形式でカテゴリ名を渡すことで、「Tasmania」「South Australia」「Victoria」の順にボックスが左から右へ表示されるようになります。

sb.boxplot( x = 'Academy', y = 'Age', data = dataFrame, order=["Tasmania", "South Australia", "Victoria"] )

このように、orderパラメータに表示したい順番どおりのカテゴリ名リストを渡すだけで、グラフ上の並び順を完全にコントロールできます。

サンプルコード全体

以下に、ここまでの手順をまとめた完全なコードを示します。

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」で箱ひげ図を描画
# orderパラメータを使い、「Academy」の表示順序を明示的に指定
sb.boxplot( x = 'Academy', y = 'Age', data = dataFrame, order=["Tasmania", "South Australia", "Victoria"] )

# グラフを表示
plt.show()

実行結果

上記のコードを実行すると、以下のような箱ひげ図が出力されます。ボックスが指定した順序(Tasmania → South Australia → Victoria)で並んでいることが確認できます。

【Python】PandasとSeabornで箱ひげ図を描画する方法|orderパラメータで表示順序を明示的に制御する

まとめ

Seabornの boxplot() では、order パラメータにカテゴリ名のリストを渡すことで、ボックスの表示順序を明示的に制御できます。データの比較やプレゼンテーションにおいて、特定の順序でグラフを見せたい場合にぜひ活用してください。

  1. Seabornのswarmplotでorderパラメータを使って表示順序を制御する方法

    Seabornのスウォームプロット(Swarm Plot)は、点が重ならないように自動調整されたカテゴリ別散布図を描画するためのグラフです。この描画には seaborn.swarmplot() 関数を使用します。order パラメータに明示的な順序(カテゴリ名のリスト)を渡すことで、特定の列を基準とした表示順序を自由に制御できます。 データセットの準備 ここでは、CSVファイル「Cricketers2.csv」の形式で保存されたデータセットを使用します。 必要なライブラリのインポート import seaborn as sb import pandas as pd import matplot

  2. 【Python】Seabornのバイオリンプロットでorderパラメータにより表示順序を制御する方法

    Seabornのバイオリンプロット(Violin Plot)は、箱ひげ図とカーネル密度推定を組み合わせた可視化手法です。この描画には seaborn.violinplot() 関数を使用します。カテゴリの表示順序を制御したい場合は、order パラメータに明示的な順序を渡すことで実現できます。 ここでは、次のようなCSVファイル「Cricketers.csv」をデータセットとして使用します。 まず、必要なライブラリをインポートしましょう。 import seaborn as sb import pandas as pd import matplotlib.pyplot as plt 続いて、C