Python Pandasで棒グラフを描画し、中心傾向の推定値として中央値を使用する方法
Seabornの棒グラフ(バープロット)は、点推定値や信頼区間を長方形のバーとして視覚的に表現するための手法です。この描画には seaborn.barplot() 関数を使用します。データセットの列をX軸・Y軸の値として指定することで、縦棒グラフだけでなく横棒グラフも簡単に作成できます。
本記事では、estimator パラメータを活用し、中心傾向の推定値として中央値(median)を設定して棒グラフを描く方法を解説します。平均値ではなく中央値を使うことで、外れ値(極端な値)の影響を受けにくい、より頑健な可視化が可能になります。
使用するデータセット
ここでは、CSVファイル形式の次のデータセット「Cricketers2.csv」を使用します。このファイルにはクリケット選手に関する情報が含まれています。
必要なライブラリのインポート
まず、必要なライブラリをインポートします。中央値を計算するために、NumPyから median を読み込んでおきましょう。
import seaborn as sb import pandas as pd import matplotlib.pyplot as plt from numpy import median
CSVファイルからデータを読み込む
次に、Pandasの read_csv() を使って、CSVファイルのデータをDataFrameに読み込みます。
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")中央値を推定値とした棒グラフの描画
「Academy(所属アカデミー)」をX軸、「Matches(試合数)」をY軸として棒グラフを描画します。estimator パラメータに median を指定することで、各カテゴリの中心傾向の推定値として平均値ではなく中央値が使用されます。
sb.barplot(x = dataFrame["Academy"], y = dataFrame["Matches"], estimator = median)
完全なコード例
以下に、ここまでの手順をまとめた完全なコードを示します。
import seaborn as sb
import pandas as pd
import matplotlib.pyplot as plt
from numpy import median
# CSVファイルからデータをPandas DataFrameに読み込む
dataFrame = pd.read_csv("C:\\Users\\amit_\\Desktop\\Cricketers2.csv")
# Academy と Matches を使って棒グラフを描画
# estimatorパラメータで中央値を中心傾向の推定値として設定
sb.barplot(x = dataFrame["Academy"], y = dataFrame["Matches"], estimator = median)
# グラフを表示
plt.show()実行結果
上記のコードを実行すると、アカデミーごとの試合数の中央値を表す棒グラフが出力されます。各バーには信頼区間も併せて表示され、データのばらつきをひと目で把握できます。

まとめ
Seabornの barplot() では、estimator パラメータにNumPyの median を渡すだけで、中心傾向の推定値を平均値から中央値へ簡単に変更できます。外れ値を含むデータセットを扱う際には、中央値を用いた可視化が特に有効です。
-
Seabornのswarmplotでorderパラメータを使って表示順序を制御する方法
Seabornのスウォームプロット(Swarm Plot)は、点が重ならないように自動調整されたカテゴリ別散布図を描画するためのグラフです。この描画には seaborn.swarmplot() 関数を使用します。order パラメータに明示的な順序(カテゴリ名のリスト)を渡すことで、特定の列を基準とした表示順序を自由に制御できます。 データセットの準備 ここでは、CSVファイル「Cricketers2.csv」の形式で保存されたデータセットを使用します。 必要なライブラリのインポート import seaborn as sb import pandas as pd import matplot
-
【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