泰坦尼克号数据集_泰坦尼克号项目可视化

一,分析背景和目的

分析背景:在上一篇里做过泰坦尼克号项目的数据清洗,模型训练,预估,链接如下https://zhuanlan.zhihu.com/p/157763714

本篇着重于该项目的可视化

分析目的:什么样的人在泰坦尼克号事件中的存活率较高?

二,分析维度

2ecfdd17b704da9989193855d87e1ecb.png

三,导入数据

# Step1:导入数据处理包

四,理解数据

1)理解字段

ccb59221092983eeade844d92144acac.png

2)查看信息

#查看数据类型的信息
full.info()

e12d7b49dca897c544b14ebc25eb8c73.png

五,数据清洗

  • 缺失值填充
#年龄
# 用平均值填充年龄这一列的缺失数据
full["Age"].fillna(full["Age"].mean())

#股票价格
# 用平均值填充股票价格这一列的缺失数据
full["Fare"].fillna(full["Fare"].mean())

#登船港口
# 用最常见类别取代Embarked这一列中缺失数据
# 查看Embarked这一列的最常见类别
full["Embarked"].head()
full["Embarked"].value_counts()
# 用最常见类别进行填充
full["Embarked"].fillna("S")

#船舱号
# 查看船舱号这一列的信息
full["Cabin"].head()
# 发现有大量未知信息,于是用未知信息填充
full["Cabin"].fillna("U")

六,数据可视化

1.泰坦尼克号存活数

train["Survived"].value_counts()

9762d2ccb1bab4294a0f1e073bf8a5a3.png

2.总体生还概率

# 总体生还几率
import matplotlib.pyplot as plt
plt.pie(n,labels=["死亡","生存"],labeldistance=0.6,autopct="%.2f%%",pctdistance=0.4)
plt.title("总体生还率")

c14da13f8aecc5ea61d8a5b55048a79a.png

3.不同性别的人的存活率

Sex=full.groupby("Sex").Survived.mean()
SexDF=pd.DataFrame(Sex)
SexDF
# 绘制直方图
SexDF.plot(kind="bar")
#添加文本
plt.xlabel("性别")
plt.ylabel("存活率")
#添加标题
plt.title("不同性别的人的存活率")

076c683da13c1be390d468352634daba.png

可以看出,女性的存活率高于男性

4.不同登陆港口的人的存活率

#获取数据并转换数据类型
Embarked=full.groupby("Embarked").Survived.mean()
Embarked_df=pd.DataFrame(Embarked)
# 绘制柱状图
Embarked_df.plot(kind="bar",color="g")
plt.xlabel("登陆港口")
plt.ylabel("存活率")
plt.title("不同登陆港口的人的存活率")
plt.show()

425ef6a070e262e16d735866afa18df2.png

5.不同船舱的人的存活率

#获取数据并转换数据类型

3e9ba23564e6ffa55d9d0085403dfe5f.png

可以看出,船舱1的存活率是最高的

6.不同头衔的人的存活率

'''

cb1288e8332d62a884130ce1a7629ffa.png

可以看出已婚妇女的存活率最高

7.不同客舱号的人的存活率

full

a703cb25e84fec3602a2e9a247589479.png

可以看出,客舱号D的存活率最高

8.不同家庭大小的人的存活率

#描述家庭大小
familyDf[ 'FamilySize' ] = full[ 'Parch' ] + full[ 'SibSp' ] + 1
full_df=pd.concat([full,familyDf],axis=1)
#获取并存放家庭大小及其存活率数据
familydf=full_df.groupby("FamilySize").Survived.mean()
Family_df=pd.DataFrame(familydf)
#绘制柱形图
Family_df.plot(kind="bar",color="g")
plt.xlabel("家庭大小")
plt.ylabel("存活率")
plt.title("不同家庭大小的人的存活率")
plt.show()

d3fb81b926b761df31d6446b777d7859.png

可以看出家庭成员规模为4的存活率最高

总结:

1.女性比男性存活率高

2.从法国 瑟堡市登录的人存活率比在其他两地登录的人存活率高

3.在船舱1的乘客存活率较高

4.已婚妇女的存活率最高

5.客舱号D的乘客存活率最高

6.家庭成员规模为4的存活率最高

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值