一、读入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(有缺失)
二、对titanic数据集完成以下统计操作
将titanic.xlsx文件导入
import pandas as pd titanic=pd.DataFrame(pd.read_excel(r'C:\Users\Administrator\titanic.xlsx'))
1.统计乘客死亡和存活人数
sc = titanic['survived'].value_counts() print("存活:{},死亡:{}".format(sc[1],sc[0]))
2.统计乘客中男女性别人数
sex = titanic['sex'].value_counts() print("男性:{},女性:{}".format(sex["male"],sex["female"]))
3.统计男女获救的人数
woman,man=0,0 for i in titanic.index: if titanic['survived'][i] == 1: if titanic['sex'][i] == "male": man += 1 if titanic['sex'][i] == "female": woman += 1 print("男性:{},女性{}".format(man,woman))
4.统计乘客所在的船舱等级的人数
pclass = titanic['pclass'].value_counts() print("等级为1的人数:{},等级为2的人数:{},等级为3的人数:{}".format(pclass[1],pclass[2],pclass[3]))
5.使用corr()函数,判断两个属性是否具有相关性,分析舱位的高低和存活率的关系
print("相关性:",titanic[u'survived'].corr(titanic[u'pclass']))
取绝对值后,0-0.09为没有相关性,0.3-弱,0.1-0.3为弱相关,0.3-0.5为中等相关,0.5-1.0为强相关
所以舱位的高低和存活率的关系为中等相关
6.画出乘客票价与舱位等级的箱体图Boxplot,从图中能够得到哪些结论?
titanic.boxplot(['fare'],['pclass'],grid=False)
票价在等级为1的船舱中浮动较小,在等级为2,3波动较小