泰坦尼克号数据分析

 变量分布统计

import pandas as pd
import matplotlib.pyplot as plt
titanic = pd.read_csv("../data/titanic.csv")
#1.获救情况分布,共891位乘客,仅有300多位乘客幸免于难,占比38%
titanic['Survived'].value_counts().plot(kind='bar',color='yellow',title='Rescue situation', rot=360)
plt.show()
#2.性别分布,共891位乘客,男性乘客就有577位,占比达64.76%
titanic['Sex'].value_counts().plot(kind='bar',color='pink',title='Gender distribution', rot=360)
plt.show()
#3.船舱分布,其中三等舱人数最多,一等舱人口次之。一等舱约占1/4,三等舱约占1/2
titanic['Pclass'].value_counts().plot(kind='bar',color='green',title='Pclass distribution', rot=360)
plt.show()
#4.年龄分布,乘客的年龄都集中在20-40岁之间
titanic['Age'].plot(kind='hist',color='red',title='Age distribution')
plt.show()

 探索变量之间的关系

#构造Sex与Survived均值的条形图
sex_pivot = titanic.pivot_table(index="Sex",values="Survived")
sex_pivot.plot.bar(rot=360)
plt.show()
#构造Class与Survived均值的条形图
class_pivot = titanic.pivot_table(index="Pclass",values="Survived")
class_pivot.plot.bar(rot=360)
plt.show()
#构造SibSp与Survived均值的条形图
SibSp_pivot = titanic.pivot_table(index="SibSp",values="Survived")
SibSp_pivot.plot.bar(rot=360)
plt.show()
#构造Parch与Survived均值的条形图
Parch_pivot = titanic.pivot_table(index="Parch",values="Survived")
Parch_pivot.plot.bar(rot=360)
plt.show()

可以看出在获救人群中女性高于男性,一等舱乘客比例高于二等和三等舱,具有1-2个堂兄弟姐妹获救的概率最高,父母/孩子有1和或3个幸存率最高。

探索多个变量与Survived的关系

# 探索多个变量与Survived的关系
import seaborn as sns
g = sns.FacetGrid(titanic,col='Survived')
g.map(plt.hist,'Age',bins=20)
# 探索年龄与获救人数的关系:
grid = sns.FacetGrid(titanic, col='Survived', row='Pclass', height=2.2,aspect=1.6)
grid.map(plt.hist, 'Age', alpha=0.5, bins=20)
# 探索年龄、舱位与获救人数的关系:
grid = sns.FacetGrid(titanic, row='Embarked', height=2.2, aspect=1.6)
grid.map(sns.pointplot, 'Pclass', 'Survived','Sex',palette='deep',order=[1,2,3],hue_order=['male','female'])
grid.add_legend()
# 探索登船港口、舱位、性别与获救比例的关系:
grid = sns.FacetGrid(titanic, row='Embarked', col='Survived',height=2.2, aspect=1.6)
grid.map(sns.barplot, 'Sex', 'Fare', alpha=0.5, ci=None, order=['female','male'])
grid.add_legend()
plt.show()

首先探索年龄与获救人数的关系:

  • 在获救的人群中,20-40岁的人占比最多;
  • 在遇难的人群中,18-30岁的人占比最多。

探索年龄、舱位与获救人数的关系:

  • 一等舱获救的比例明显高于其他舱位;
  • 一等舱和二等舱的孩子基本上都获救了;
  • ...

探索登船港口、舱位、性别与获救比例的关系:

  • 一等舱中从港口Q和港口S登船的女性基本上都获救了;
  • 从C港口登船的男性获救比例很高;
  • ...

同样,我们还可以加上探索登船口,性别、是否幸存与船票费用之间的关系。

明显可以看出:

  • 从S和C港口登船的人中,获救的人群船票明显更贵;
  • ...
原文地址:https://www.cnblogs.com/xhj1074376195/p/14440472.html