Kaggle(13) - 変数間のデータ分析

棒グラフを使うと複数データ間の関係を視覚的に確認し、比較することができるようになります。

タイタニックのデータセットの場合では、客室ランクごとの年齢層がどのようになっているのかなど、客室ランク年齢の関係を分析することができます。

棒グラフの表示

タイタニックのデータセットを読み込みます。

1
2
3
4
import seaborn as sns
from matplotlib import pyplot as plt
sns.set(style='darkgrid')
titanic = sns.load_dataset('titanic')

客室ごとの年齢を棒グラフで表示します。

1
sns.barplot(data=titanic, x='pclass', y='age')

棒グラフの年齢(y軸)は平均値が表示されます。

参考までに客室ごとの平均年齢を数値で確認しておきます。

1
titanic.groupby(['pclass']).mean()

棒グラフのスライシング

次に、客室ランクを生死でスライシングしてみます。

hueオプションに生死(survived)を指定します。

1
sns.barplot(data=titanic, x='pclass', y='age', hue='survived')

いずれの客室クラスでも、生き残った人(survived=1)の数が亡くなった人(survived=0)の数よりやや少ないことが分かります。


棒グラフのスライシング(別グラフ)

スライシングの層を増やす場合に、別グラフで表示すると見やすくなります。

ここでは性別でスライシングし別グラフを表示してみます。

colオプションに性別(sex)を指定します。

1
sns.catplot(data=titanic, kind='bar', x='pclass', y='age', hue='survived', col='sex')

客室ランク2の男性の生存率がかなり低いことや、客室ランク1の女性の生存率が高いことが見てとることができます。

(実行環境としてGoogleさんのColaboratoryを使用ています。)

次回は、箱ひげ図とバイオリン図の表示を行います。