今回はseabornで以下グラフを描画する方法を紹介します。
- barplot: 棒グラフ
- boxplot: 箱ひげ図
- violinplot: バイオリン図
バイオリン図は聞き馴染みないと思います。
分布の形状を把握するのに便利なので、以降で説明していきます。
使用するデータ
今回は、tips
のデータセットを使用します。
tips
は、機械学習や統計学の分野でサンプルデータとして使用されるレストランのお会計に関するデータセットです。
barplot: 棒グラフ
seabornで棒グラフを描画するには、barplot
を使用します。
棒グラフは、カテゴリー別にデータの平均と信頼区間を表示します。
カテゴリー間の比較するときに有用です。
barplot
の基本的な使用方法は以下の通りです。
# seabornをインポート
import seaborn as sns
# データセットをロード
tips = sns.load_dataset("tips")
# barplotを描画
sns.barplot(x='day', y='total_bill', data=tips)
まずはpairplot
を使用するために、seaborn
をインポートします。
seabornについて詳しく知りたい方はこちら
続いて、pairplot
で可視化したいデータセットをロードします。
tips
のデータセットを使用します。
データセットのあとは、実際にbarplot
を作成します。
x
にはカテゴリカルなデータday
(曜日)、
y
にはx
で指定したカテゴリカルなデータごとに求めたいデータtotal_bill
(合計金額)を指定します。
data
には分析対象のデータフレームを指定してします。
説明が長くなりましたが、実行結果は以下です。
曜日ごとの平均値を描画しました。
休日のSat
とSun
が平均して合計金額が高いことがわかります。
barplotをカスタマイズ
barplot
は、デフォルトではデータの平均を描画します。
データの中央値(median)や合計(sum)などの統計量を描画することも可能です。
データの統計量を変更するには、estimator
パラメータを使用します。
サンプルコードは以下の通りです。
import numpy as np
sns.barplot(x='day', y='total_bill', data=tips, estimator=np.sum)
実行結果
boxplot: 箱ひげ図
seabornで箱ひげ図を描画するには、boxplot
を使用します。
箱ひげ図は、データの中央値、四分位数、外れ値、最大値、最小値を表示します。
データの分布を把握するときに有用です。
boxplot
の使用方法は以下の通りです。
# seabornをインポート
import seaborn as sns
# データセットをロード
tips = sns.load_dataset("tips")
# boxplotを描画
sns.boxplot(x='day', y='total_bill', data=tips)
使い方は、barplot
と基本的に同じです。
実行結果は以下です。
boxplotをカスタマイズ
hue
パラメータでカテゴリ内を詳しく区分けすることができます。
喫煙者、非喫煙者で区分けしてみます。
sns.boxplot(x='day', y='total_bill', data=tips, hue='smoker')
実行結果
violinplot: バイオリン図
バイオリン図とは、箱ひげ図とカーネル密度推定を組み合わせた図です。
図の幅により、データの分布を可視化しています。
seabornでバイオリン図を描画するには、violinplot
を使用します。
使い方は以下の通りです。
# seabornをインポート
import seaborn as sns
# データセットをロード
tips = sns.load_dataset("tips")
# boxplotを描画
sns.violinplot(x='day', y='total_bill', data=tips)
使い方はbarplot
とboxplot
同じです。
実行結果は以下です。
violinplotをカスタマイズ
inner
パラメータでバイオリン図内部の表示方法を変更することができます。
sns.violinplot(x='day', y='total_bill', data=tips, inner='box')
実行結果
まとめ
今回はseabornで以下グラフを描画する方法を紹介しました。
- barplot: 棒グラフ
- boxplot: 箱ひげ図
- violinplot: バイオリン図
どれもデータを可視化するのに便利なツールです。
ぜひマスターしてみてください!
ここまで読んでくださりありがとうございます。
参考
おすすめ教材
米国データサイエンティストがやさしく教えるデータサイエンスのためのPython講座 【世界で55万人が受講】データサイエンティストを目指すあなたへ〜データサイエンス25時間ブートキャンプ〜他のUdemyの講座が気になる方はこちら