只要是数据分析师,恐怕没有人不知道泰坦尼克号这个项目吧,这是一个被简历写烂的项目,这也小白学习数据分析和建模最基础的一个项目,本文将从数据分析和数据建模两部分来介绍此项目。
数据来源:
https://www.kaggle.com/c/titanicwww.kaggle.com数据字段:
字段介绍:
- PassengerId:乘客编码
- Survived:是否幸存
- Pclass:船票类型
- Name:名字
- Sex:性别
- Age:年龄
- SibSp:船上该成员兄弟姐妹的数量
- Parch:船上该成员的父母或子女数量
- Ticket:船票编号
- Fare:乘客票价
- Cabin:客舱号码
- Embarked:起航运港
数据分析
影响乘客生还率的因素有很多,为了更好的了解数据,本文将从性别、年龄以及舱位的角度分别来查看对生还率的影响程度
数据导入:
import numpy as np
import pandas as pd
import matplotlib
from matplotlib import pyplot as plt
import seaborn as sns
# 忽略错误
import warnings
warnings.filterwarnings('ignore')
# 解决图表中中文显示为方格的问题
plt.rcParams['font.sans-serif']=['SimHei']
# 解决图表中负号显示为方格的问题
plt.rcParams['axes.unicode_minus']=False
# 读取数据
train_data=pd.read_csv('./train.csv')
test_date=pd.read_csv('./test.csv')
# 测试数据集
print(test_date)
# 训练数据集
train_data
1、性别对生还率的影响
结论:
全部乘客中,只有35.24%的女性,而生还的乘客中,女性占到了68.13% 。女性的生还率达到了74.2%,而男性的生还率只有18.9% 。我们可以看出,女性的生还率更高。
代码展示:
# 性别对生还率的影响
train_data_sex=train_data.Sex.value_counts()
train_data_sex
# 绘制饼图展示
train_data_sex.plot(kind='pie',title='全体乘客的性别比例图',
autopct='%.2f%%',figsize=(4,4))
# 绘制生还乘客的性别比例图
train_data_survived=train_data[train_data['Survived']==1]
train_data_survived_sex=train_data_survived.groupby(['Sex']).Sex.count()
train_data_survived_sex
plt.figure(figsize=(4,4))
plt.pie(train_data_survived_sex,labels=['female','male'],autopct='%.2f%%')
plt.title('生还乘客的性别比例图')
# 绘制不同性别的生还率
# 使用的是sns.barplot()显示的是某种分类变量分布的平均值
sns.barplot(x='Sex',y='Survived',data=train_data)
plt.title('不同性别的生还率')
2、年龄对生还率的影响