上篇文章的格式有问题,删除了,重新调整格式
背景
目前在 优达学城 学习数据分析课程。第二个项目是使用Python对给定数据集进行探索和分析。本次选择的数据集是 泰坦尼克号上 2224 名乘客和船员中 891 名的人口学数据和乘客基本信息。
报告是使用 jupyter notebook完成的,相关文档放在了个人GitHub上,欢迎讨论交流!
1. 提出问题
问题: 有哪些因素会让船上的人,生还率更高?
对数据集初步了解,猜测有以下因素:
- 性别
- 年龄
- 舱房等级
2. 调查数据
2.1 读取源数据
%pylab inline
import matplotlib.pyplot as plt
import seaborn as sns
import pandas as pd
import numpy as np
titanic_df = pd.read_csv('titanic-data.csv')
titanic_df
2.2 数据整理
2.2.1 补充缺失值
表格中,年龄Age和舱房Cabin存在空值。用“0”补充上,表示“未知”含义
titanic_fill = titanic_df.fillna(value=0)
titanic_fill.head()
2.2.2 筛选数据
考虑生还率的相关因素,可能是:
- 年龄
- 性别
- 舱房等级
titanic_key_factors = titanic_fill[['Survived', 'Pclass', 'Sex', 'Age']]
titanic_key_factors.head()
3. 探索与分析
对上述考虑的三种因素分别进行分析:
- 单因素分析
- 双因素综合分析
3.1 单因素分析
3.1.1 舱房等级
titanic_pclass = titanic_key_factors[['Survived', 'Pclass']]
# 按 Pclass 分组
groupby_pclass = titanic_pclass.groupby('Pclass')
# 各 Pclass 的总人数
total_groupby_pclass = groupby_pclass.count()
# 各 Pclass 的生还数
survived_groupby_pclass = groupby_pclass.sum()
print total_groupby_pclass.rename(columns={
'Survived':'Total'})
print survived_groupby_pclass
# 各 Pclass 的生还率
survived_rate_pclass = (survived_groupby_pclass/ total_groupby_pclass).rename(columns={