一、读入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(有缺失)
import pandas as pd
titanic = pd.read_excel('D:\Chrome下载/titanic-2.xlsx')
titanic.head()

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

#删除掉重复值
titanic=titanic.drop_duplicates()
titanic.head()

#缺失值与空值的处理
titanic['who'].isnull().value_counts()

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

二、对titanic数据集完成以下统计操作
1.统计乘客死亡和存活人数
alive = titanic['survived'].value_counts()
print('乘客存活%s人,死亡%s人'%(alive[1],alive[0]))

2.统计乘客中男女性别人数
sex = titanic['sex'].value_counts()
print('乘客中男性%s人,女性%s人'%(sex['male'],sex['female']))

3.统计男女获救的人数
rescued = titanic.groupby('survived')['sex'].value_counts().unstack()
print('男性%s获救,女性%s获救'%(rescued.loc[1,'male'],rescued.loc[1,'female']))

4.统计乘客所在的船舱等级的人数
pclass = titanic['pclass'].value_counts()
print('乘客所在一等舱%s人,二等舱%s人,三等舱%s人'%(pclass[1],pclass[2],pclass[3]))

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

由此可看出是负相关性,即舱位越高,存活率越低。
6.画出乘客票价与舱位等级的箱体图Boxplot,从图中能够得到哪些结论?
titanic.boxplot(['fare'],['pclass'])

从图中可以看出一等票价格浮动较大,二等和三等价格浮动较小
本文档展示了如何对 Titanic 数据集进行数据清洗,包括删除无效列、处理重复值和缺失值。接着,进行了统计分析,如乘客存活和死亡人数、性别分布、获救情况、船舱等级人数以及票价与舱位等级的关系。通过分析发现舱位与存活率呈负相关,票价和舱位等级的箱体图揭示了一等舱票价波动较大。
1万+

被折叠的 条评论
为什么被折叠?



