タイタニック号沈没のデータを見てみる【Python】

programming.jpg

こんにちは

今回はタイタニック号の沈没のデータセットを使って、データの中身を見ていきます。

使用するライブラリ

以下のライブラリをインポートします。

import numpy as np
import pandas as pd
%matplotlib inline
import matplotlib.pyplot as plt
import seaborn as sns

データの統計量や図示による比較を行うので、これらをインポートしておきます。

データを用意

タイタニックのデータをセットは以下のサイトから入手します。

データを見ていく

ファイルの読込

まず、ファイルの読込を行います。

df = pd.read_csv('train.csv')

pd.read_csv()で使用するcsvファイルをdfと言う変数に格納します。

読み込んだファイルの中身を見る

次に、読み込んだファイルのデータ確認してみる。

df

行数と列数を確認する

データが多すぎて、途中が省略されていますね。

このデータがどのぐらいあるのか、shape関数を使って見てみましょう。

df.shape

shape関数は、データの中身を(”行数”,”列数”)の形で出力します。

出力した結果から、891行と12列があることがわかりました。

欠損値を確認する

こんなにデータ数が多いと、欠損値もあるでしょう。

というわけでisnull関数とsum関数を使って、欠損値の数を確認してみましょう。

df.isnull().sum()

各列の欠損値の数を出すことができました。

Age列が177個、Cabin列が687個の欠損値があることがわかりますね。

要約統計量を確認する

データの要約統計量をdescribe関数を使って見てみましょう。

df.describe()
  • count:要素数
  • mean:算術平均
  • std:標準偏差
  • min:最小値
  • max:最大値
  • 50%:中央値
  • 25%,75%:四分位数

describe関数を使うことで、簡単に概要を見れるのは便利ですね。

年齢層を確認する

どのような年齢層が乗船していたのか確認する。

データからAgeの列だけを抜き出してみます。

df['Age']

欠損値を削除する

Ageの列には欠損値があったので、欠損値を削除方法を見てみましょう。

削除するために、dropna関数を使います。

df['Age'].dropna()

Lengthから欠損値が削除されたことがわかります。

年齢の平均値を確認する

mean関数を使って年齢の平均値を見てみましょう。

df['Age'].mean()

乗船した人の平均年齢は約30歳なんですね。

年齢の分布を確認する

ヒストグラムを使って、年齢別で分布を確認してみましょう。

plt.hist(df['Age'],bins=10)

引数のbinsを変えることで、ヒストグラムの本数を変えることができます。

binsの値が10だとタイタニック号に乗船した人は、20代から30代が多かったことがわかりますね。

男女比を確認する

乗船した乗客の男女比を可視化してみる。

sns.countplot('Sex',data=df)
男女比は2:1と言ったところでしょうか。

男女を年齢別に分けてみる

男女比は2:1なのわかりました。

次に男女を年齢別に分けてみましょう。

plt.hist(df.loc[df['Sex'] == 'male','Age'].dropna(),bins=10,alpha=0.7,label='male')
plt.hist(df.loc[df['Sex'] == 'female','Age'].dropna(),bins=10,alpha=0.7,label='female')
plt.xlabel('Age')
plt.ylabel('Count')
plt.legend(title='Sex')
  • bins:ヒストグラムで表示する本数
  • alpha:グラフの透明度
  • label:ラベル

図示した結果、どこの年代も男性のが多いことがわかりますね。

最後に

今回はタイタニック号沈没に関するデータセットで、データの中身を見てみました。

数行のコードで、データの概要や比較を行えるのは便利ですね。

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA