一、读入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.使用read_excel方法读取本地csv文件—white_wine.csv
读入titanic.xlsx文件,显示文件前5行
import pandas as pd import numpy as np titanic = pd.DataFrame(pd.read_excel('C:\\Users\\Administrator\\Desktop\\大四py\\数据文件\\titanic-2.xlsx')) # 1.使用read_excel方法读取本地csv文件—white_wine.csv #读入titanic.xlsx文件,显示文件前5行数据 titanic.head()
效果如下:
2.删除无效列
# 删除无效列 titanic.drop('embark_town', axis = 1, inplace=True) titanic.head()
效果如下:
3.# 查找重复值
# 查找重复值 titanic.duplicated()
效果如下:
4.# 删除重复值
# 删除重复值 titanic = titanic.drop_duplicates() titanic.head()
效果如下:
5.# 统计空值的个数 value_counts用于统计个数
1 # 统计空值的个数 value_counts用于统计个数2 titanic['who'].isnull().value_counts()
效果如下:
6.# 使用fillna方法填充空值
1 # 使用fillna方法填充空值 2 titanic['who'] = titanic['who'] .fillna('man') 3 titanic.head()
效果如下:
7. # 使用fillna方法为age字段填充平均值
1 # 使用fillna方法为age字段填充平均值 2 titanic['age'] = titanic['age'] .fillna(titanic['age'].mean()) 3 titanic.head()
效果如下:
8.#使用describe查看统计信息
1 #使用describe查看统计信息 2 titanic.describe()
效果如下:
9. # 将异常值替换为平均值
1 # 将异常值替换为平均值 2 titanic.replace([512.329200],titanic['fare'].mean())
效果如下:
二、对titanic数据集完成以下统计操作
1.统计乘客死亡和存活人数
1 titanic['survived'].value_counts()
效果如下:
2.统计乘客中男女性别人数
1 titanic['sex'].value_counts()
效果如下:
3.统计男女获救的人数
1 titanic['sex'][titanic['survived']==1].value_counts()
效果如下:
4.统计乘客所在的船舱等级的人数
1 titanic['pclass'].value_counts()
效果如下:
5.使用corr()函数,判断两个属性是否具有相关性,分析舱位的高低和存活率的关系
1 titanic['survived'].corr(titanic['pclass'])
效果如下:
6.画出乘客票价与舱位等级的箱体图Boxplot,从图中能够得到哪些结论?
1 titanic.boxplot(['fare'],['pclass'])
效果如下:
1 #结论:舱位票价越高存活率越高,舱位票价低的存活率较低