第2次作业-titanic数据集练习

 一、读入titanic.xlsx文件,按照教材示例步骤,完成数据清洗。

titanic数据集包含11个特征,分别是:

Survived:0代表死亡,1代表存活
Pclass:乘客所持票类,有三种值(1,2,3)
Name:乘客姓名
Sex:乘客性别
Age:乘客年龄(有缺失)
SibSp:乘客兄弟姐妹/配偶的个数(整数值)
Parch:乘客父母/孩子的个数(整数值)
Ticket:票号(字符串)
Fare:乘客所持票的价格(浮点数,0-500不等)
Cabin:乘客所在船舱(有缺失)
Embark:乘客登船港口:S、C、Q(有缺失)

1 import pandas as pd
2 titanic=pd.DataFrame(pd.read_excel('C:/Users/HiWangLu/数据文件/titanic.xlsx'))
3 titanic.head()

第2次作业-titanic数据集练习_第1张图片

 

1 # 删除无效列
2 titanic.drop('embark_town', axis = 1, inplace=True)
3 titanic.head()

第2次作业-titanic数据集练习_第2张图片

 

1 # 查找重复值
2 titanic.duplicated()

第2次作业-titanic数据集练习_第3张图片

 第2次作业-titanic数据集练习_第4张图片

 

1 # 删除重复值
2 titanic = titanic.drop_duplicates()
3 titanic.head()

第2次作业-titanic数据集练习_第5张图片

 

1 # 统计空值的个数
2 titanic['who'].isnull().value_counts()

 

1 # 使用fillna方法填充空值
2 titanic['who'] = titanic['who'] .fillna('man')
3 titanic

第2次作业-titanic数据集练习_第6张图片

 第2次作业-titanic数据集练习_第7张图片

 

1 # 统计空值的个数
2 titanic['age'].isnull().value_counts()

 

1 # 使用fillna方法为age字段填充平均值
2 titanic['age'] = titanic['age'] .fillna(titanic['age'].mean())
3 titanic.head()

第2次作业-titanic数据集练习_第8张图片

 

1 #使用describe查看统计信息
2 titanic.describe()

第2次作业-titanic数据集练习_第9张图片

 

1 # 将异常值替换为平均值
2 titanic.replace([512.329200],titanic['fare'].mean())

第2次作业-titanic数据集练习_第10张图片

 第2次作业-titanic数据集练习_第11张图片

 

二、对titanic数据集完成以下统计操作

1.统计乘客死亡和存活人数

1 #统计乘客死亡和存活人数
2 titanic['survived'].value_counts()

 

2.统计乘客中男女性别人数

1 #统计乘客中男女性别人数
2 titanic['sex'].value_counts()

 

3.统计男女获救的人数

1 #统计男女获救的人数
2 titanic.groupby(['survived','sex'])['sex'].count()

第2次作业-titanic数据集练习_第12张图片

 

4.统计乘客所在的船舱等级的人数

1 #统计乘客所在的船舱等级的人数
2 titanic['class'].value_counts()

 

5.使用corr()函数,判断两个属性是否具有相关性,分析舱位的高低和存活率的关系

1 titanic['survived'].corr(titanic['pclass'])

 计算出的答案为负值(靠近-1),表明存活率和舱位的高低呈负相关,即舱位越高,存活率越低。

 

6.画出乘客票价与舱位等级的箱体图Boxplot,从图中能够得到哪些结论?

1 import matplotlib.pyplot as plt
2 fare1 = titanic.fare[titanic.pclass == 1]
3 fare2 = titanic.fare[titanic.pclass == 2]
4 fare3= titanic.fare[titanic.pclass == 3]
5 data = pd.DataFrame({"First":fare1,"Second":fare2,"Third":fare3})  
6 data.boxplot()
7 plt.title('The Boxplot of Fare and Pclass')

 第2次作业-titanic数据集练习_第13张图片

由图可知,舱位等级越高,票价越高。一等舱最高票价约为160,二等舱最高票价约为50,三等舱最高票价约为30

你可能感兴趣的:(第2次作业-titanic数据集练习)