seaborn
前書き
今回は、可視化用のライブラリであるseabornについて説明していきます。 seabornは、pandasのデータ構造(Series型、DataFrame型)と密接に統合されています。
インストール
seabornのインストールは、pip
コマンドを用いて行うことができます。
以下のようになります。
pip install seaborn
seabornは、matplotlibを内部で呼び出しているため、こちらもインストールする必要があります。
pip install matplotlib
データセットの用意
可視化を行うのでデータセットを用意する必要があります。
今回は、seabornの関数により取得することのできるデータセットを使います。
import seaborn as sns # 慣例 tips = sns.load_dataset("tips") # データセットの取得 print(type(tips)) # タイプの確認 print(tips.head()) # 要素の確認
データセットは、以前に紹介したpandasのDataFrame型です。
<class 'pandas.core.frame.DataFrame'> total_bill tip sex smoker day time size 0 16.99 1.01 Female No Sun Dinner 2 1 10.34 1.66 Male No Sun Dinner 3 2 21.01 3.50 Male No Sun Dinner 3 3 23.68 3.31 Male No Sun Dinner 2 4 24.59 3.61 Female No Sun Dinner 4
sns.load_dataset("tips")
によりデータセットを取得しています。データセットは、DataFrame型です。DataFrame型なのでtips.head()により、要素の確認ができます。
様々なプロット
seabornのライブラリから使用できるプロットの関数は以下のような引数を基本的に持っています。
xには、プロットの手法名が入ります。
基本の引数以外にも様々な引数があります。
それらを組み合わせて使用することにより、効果的な可視化を行うことができます。
いくつか例を示します。
散布図
import matplotlib.pyplot as plt import seaborn as sns sns.relplot(x='total_bill', y='tip', data=tips) plt.title('scatter plot') plt.grid() plt.savefig('relplot.png') sns.relplot(x='total_bill', y='tip', hue='smoker', data=tips) plt.title('scatter plot') plt.grid() plt.savefig('relplot2.png') sns.relplot(x='total_bill', y='tip', hue='smoker', style='time', data=tips) plt.title('scatter plot') plt.grid() plt.savefig('relplot3.png')
カテゴリカルデータの散布図
import matplotlib.pyplot as plt import seaborn as sns sns.catplot(x='day', y='total_bill', data=tips) plt.title('cat plot') plt.grid() plt.savefig('catplot.png') sns.catplot(x="day", y="total_bill", kind="box", data=tips); plt.title('cat plot') plt.grid() plt.savefig('catplot2.png')
ヒストグラム
import matplotlib.pyplot as plt import seaborn as sns sns.distplot(tips['total_bill']) plt.title('dist plot') plt.grid() plt.savefig('distplot.png')
あとがき
今回は、seabornについて簡単な例を紹介しました。
次回は、機械学習のライブラリであるsklearnを紹介します。