タイタニック

ゆうき( @BASEBALLY15 )です^^

UdemyでのPythonの学習も後半戦に突入しました.

学習した内容を使って,『タイタニッック号』のデータを分析して欲しいです・・・

任せてください!

(Udemy 『実践Pythonデータサイエンス』を参考,Jupiternotebookを使用)

タイタニックとは?

処女航海中の1912年4月14日深夜、北大西洋上で氷山に接触、翌日未明にかけて沈没した。犠牲者数は乗員乗客合わせて1,513人(ほかに1,490人、1,517人、1,522または1,523人、1,609人などさまざまな説がある)であり、戦時中に沈没した船舶を除くと20世紀最大の海難事故であった[1]

引用元:Wikipedia

学習内容

今回は,以下のcsvファイルを使って,データ分析を行いたいと思います.

保存する際は,『名前を付けて保存』で,Jupiternotebookと同じディレクトリに保存してください.

ライブラリ

今回のデータ分析で使うライブラリは,今まで使ってきたものと同じです.

それでは,見ていきましょう^^

import pandas as pd

from pandas import Series,DataFrame

import numpy as np

import matplotlib.pyplot as plt

import seaborn as sns

%matplotlib inline

コード

まずは,train.csvを読み込みます.

#csvファイルの読み込み
titanic_dframe = pd.read_csv("train.csv")

#実行
titanic_dframe.head()

すると,以下の表が表示されます.

PassengerIdSurvivedPclassNameSexAgeSibSpParchTicketFareCabinEmbarked
0103Braund, Mr. Owen Harrismale22.010A/5 211717.2500NaNS
1211Cumings, Mrs. John Bradley (Florence Briggs Th…female38.010PC 1759971.2833C85C
2313Heikkinen, Miss. Lainafemale26.000STON/O2. 31012827.9250NaNS
3411Futrelle, Mrs. Jacques Heath (Lily May Peel)female35.01011380353.1000C123S
4503Allen, Mr. William Henrymale35.0003734508.0500NaNS

そして,この表の中から,男女ごとの生存した方と,亡くなった方の人数をグラフに表示したいと思います.

『0』が亡くなった方で,『1』が生存した方を表しています.

sns.countplot("Survived",data=titanic_dframe,hue="Sex")
タイタニック事故で生き残った方と亡くなった方のグラフ

このグラフを見ると,男性で亡くなった方が圧倒的に多いことが読み取れます.

おそらく,女性を優先して救助していたからではないでしょうか?

次に,タイタニック号に乗っていた乗客の年齢層を調べてみましょう.

ヒストグラムを使うと,年齢層を調べることが出来ます.

titanic_dframe["Age"].hist(bins=100)
タイタニック号に乗っていた乗客の年齢層を表したヒストグラム

このグラフから,主に20代から30代の方が多いことが分かります.

また,以外にも,10歳以下も多く,家族で乗っていた人が多かったのだと思います.

titanic_dframe.describe().Age #年齢ごとの平均や最小値,最大値などを表示

count 714.000000

mean 29.699118

std 14.526497

min 0.420000

25% 20.125000

50% 28.000000

75% 38.000000

max 80.000000

次に,カーネル密度推定を使って,『Survived』と『Age』の関係性を見ていこうと思います.

#FacetGrid()は,一つのプロットの中に,複数のプロットを表示できる
fig = sns.FacetGrid(titanic_dframe,hue="Survived",aspect=4) 


#Ageに関して,カーネル密度関数を表示する.shadeは影があるかどうか
fig.map(sns.kdeplot,"Age",shade=True) 


#最高齢を決めておく
oldest=titanic_dframe.Age.max() 


#x軸の範囲を決めておく
fig.set(xlim=(0,oldest))


#legendで凡例を表示させる
fig.add_legend()
カーネル密度推定を使って,タイタニック号に乗っていた乗客を分析する.

カーネル密度推定は,あくまで,推定を行っているので,

年齢がマイナスやかなり高い値になることがあります.

そこで,以下のコードで最大値と最小値を予め指定しておきます.

#最高齢を決めておく
oldest=titanic_dframe.Age.max() 


#x軸の範囲を決めておく
fig.set(xlim=(0,oldest))

このグラフから,10歳以下の生存率が高いことが分かります.

女性と一緒に助けられたからではないかと思います.

終わりに

今回は,タイタニック号に乗っていた乗客についてデータ分析を行ってみました.

タイタニック号の事故は映画になっていますが,今回の様に,

データ分析を行ったうえで見ると,見方が変わるのではないでしょうか?

Q &A

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA