一、问题
——预测泰坦尼克号乘客的存活状态
二、数据理解
1.数据来源: https://www.kaggle.com/c/titanic/data
得到两个csv文件:
① train.csv:包含一部分乘客的基本信息和生存状态。
② test.csv:包含了另一部分乘客的基本信息,无生存状态,需要建模预测。
2.导入包和数据
#导入包
import numpy as np
import pandas as pd
#导入数据
train = pd.read_csv("train.csv")
test = pd.read_csv("test.csv")
print ('训练数据集:',train.shape,'测试数据集:',test.shape)
训练数据集: (891, 12) 测试数据集: (418, 11)
3.查看数据
train.head()
test.head()
train.info()
print ('------------------------------------')
test.info()
4.合并数据,方便后面一起进行数据清理
#合并数据集,方便同时对两个数据集进行清洗
union = train.append( test , ignore_index = True )
print ('合并后的数据集:',union.shape)
union.info()
分析:
数据总共有1309行。变量分别是:Passengerld 乘客编号,Survived 生存情况(1=存活,0=死亡),Pclass客舱等级(1=1等舱,2=2等舱,3=3等舱),Name姓名,Sex性别,Age年龄,SibSp船上兄妹姐妹数、配偶数,Parch 船上父母数、子女数,Ticket 船票编号,Fare船票价格,Cabin 客舱号,Embarked 登船港口
数值型变量:Age,Fare,Parch,Passengerld,Pclass,SibSp,Survived
非数值型变量:Cabin,,Embarked,Name,Sex,Ticket
其中数值型变量中年龄(Age)、船舱号(Cabin)里面有缺失数据;非数值型变量中登船港口(Embarked)和船舱号(Cabin)里面有缺失数据。
1)年龄(Age)里面数据总数是1046条,缺失了1309-1046=263,缺失率263/1309=20%。
2)船票价格(Fare)里面数据总数是1308条,缺失了1条数据。
字符串列:
3)登船港口(Embarked)里面数据总数是1307条,只缺失了2条数据。
4)船舱号(Cabin)里面数据总数是295,缺失了1309-295=1014,缺失率=1014/1309=77.5%&#x