第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(有缺失)

import pandas as pd
titanic = pd.DataFrame(pd.read_excel(r'D:\python作业\lessson\homework\resources\titanic.xlsx'))
titanic.head()

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

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

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

# 查看重复值,值为True,表示该行是一个重复值
titanic.duplicated()

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

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

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

# 查看缺失值的个数
titanic['age'].isnull().value_counts()
titanic['embarked'].isnull().value_counts()

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

# 处理缺失值age, 取平均值
titanic['age'] = titanic['age'].fillna(titanic['age'].mean())
# 处理缺失值embarked, 取S
titanic['embarked'] = titanic['embarked'].fillna('S')
titanic.head()

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

# 异常值处理
titanic.describe()

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

# fare的最大值超出平均字段,使用replace()替换异常值
titanic.replace([512.329200], titanic['fare'].mean())

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

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

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

titanic['survived'].value_counts()

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

titanic['sex'].value_counts()

3.统计男女获救的人数

titanic.groupby('survived')['sex'].value_counts().unstack()

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

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

titanic['pclass'].value_counts()

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

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

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

分析:由数据得,这是负相数,即舱位越高,存活率也就越高。

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

titanic.boxplot(['fare'],['pclass'])

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

结论:由图可知,舱位等级越高,价格也就越贵。

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