kaggle实战—泰坦尼克(四、数据可视化)

  1. kaggle实战—泰坦尼克(一、数据分析)
  2. kaggle实战—泰坦尼克(二、数据清洗及特征处理)
  3. kaggle实战—泰坦尼克(三、数据重构)
  4. kaggle实战—泰坦尼克(四、数据可视化)
  5. kaggle实战—泰坦尼克(五、模型搭建-模型评估)

前言

相信大家都有队pandas,numpy等数据科学库有一定了解,其中不乏有很多人有专门刷过相关课程或者看多相关书籍,例如《python for data analysis》。但是在实操过程中有很多函数还是得看着官方文档来进行敲写,既费时又费力 。最近刚好datawhale发起一个相关打卡活动——实战,我就报名参加了。(ps:极力推荐这本书,大家可以去网上搜索电子版,或者也可以关注微信公众【浩波的笔记】回复data analysis来获取。

这次实践又比较偏模型和实战(完成kaggle上泰坦尼克的任务),直接给你一个任务,让你去完成,上手难度比较大,但是它的实战性可以让你对于什么是数据挖掘,以及数据挖掘的逻辑有很好的把握。所以有没有这样一门课,以项目为主线,将知识点孕育其中,通过边学,边做以及边被引导的方式来使学习效果达到更好,学完之后既能掌握pandas等的知识点又能掌握数据分析的大致思路和流程。通过调查发现,市面上这样的目好像没有可以完全符合这样的标准(失望.jpg)。

复习:学习完第一篇博客,我们对泰坦尼克号数据有了基本的了解,也学到了一些基本的统计方法,第二、三篇博客中我们学习了数据的清理和重构,使得数据更加的易于理解;今天我们要学习的是:数据可视化,主要给大家介绍一下Python数据可视化库Matplotlib,在本次学习中,你也许会觉得数据很有趣。在打比赛的过程中,数据可视化可以让我们更好的看到每一个关键步骤的结果如何,可以用来优化方案,是一个很有用的技巧。

开始之前,导入numpy、pandas包和数据

有任何问题请先访问matplotlib官方文档http://matplotlib.org/

# 加载所需的库
# 如果出现 ModuleNotFoundError: No module named 'xxxx'
# 你只需要在终端/cmd下 pip install xxxx 即可
import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
# 导入result.csv这个文件
text = pd.read_csv(r'E:/python-project/deep-learning/datawhale/kaggle/tantatic/hands-on-data-analysis-master/data/result.csv')
text.head()

在这里插入图片描述

如何让人一眼看懂你的数据?

任务一:跟着书本第九章,了解matplotlib,自己创建一个数 据项,对其进行基本可视化

思考:最基本的可视化图案有哪些?分别适用于那些场景?(比如折线图适合可视化某个属性值随时间变化的走势)

推荐阅读这篇文章,其中有多人回答,比较详尽。当然一定要和那本书(data for analysis)第九章敲一遍
做数据分析,通常需要用哪些图表?:https://www.zhihu.com/question/40903517

任务二:可视化展示泰坦尼克号数据集中男女中生存人数分布 情况(用柱状图试试)。

sex = text.groupby('Sex')['Survived'].sum()
sex.plot.bar()
plt.title('survived_count')
plt.show()

在这里插入图片描述
思考:计算出泰坦尼克号数据集中男女中死亡人数,并可视化展示?如何和男女生存人数可视化柱状图结合到一起?看到你的数据可视化,说说你的第一感受(比如:你一眼看出男生存活人数更多,那么性别可能会影响存活率)。

任务三:可视化展示泰坦尼克号数据集中男女中生存人与死亡 人数的比例图(用柱状图试试)。

# 提示:计算男女中死亡人数 1表示生存,0表示死亡
text.groupby(['Sex','Survived'])['Survived'].count().unstack().plot(kind='bar',stacked='True')
plt.title('survived_count')
plt.ylabel('count')

在这里插入图片描述
任务四:可视化展示泰坦尼克号数据集中不同票价的人生存和 死亡人数分布情况。(用折线图试试)(横轴是不同票价,纵轴是 存活人数)

# 计算不同票价中生存与死亡人数 1表示生存,0表示死亡
fare_sur = text.groupby(['Fare'])['Survived'].value_counts().sort_values(ascending=False)
fare_sur

在这里插入图片描述

# 排序后绘折线图
fig = plt.figure(figsize=(20, 18))
fare_sur.plot(grid=True)
plt.legend()
plt.show()

在这里插入图片描述

# 排序前绘折线图
fare_sur1 = text.groupby(['Fare'])['Survived'].value_counts()
fare_sur1

在这里插入图片描述

fig = plt.figure(figsize=(20, 18))
fare_sur1.plot(grid=True)
plt.legend()
plt.show()

在这里插入图片描述

任务五:可视化展示泰坦尼克号数据集中不同仓位等级的人生 存和死亡人员的分布情况。(用柱状图试试)

# 1表示生存,0表示死亡
pclass_sur = text.groupby(['Pclass'])['Survived'].value_counts()
pclass_sur

在这里插入图片描述

import seaborn as sns
sns.countplot(x="Pclass", hue="Survived", data=text)

在这里插入图片描述大家可以看到相对而言,三等舱死亡比率最高,而一等舱死亡比率最低

任务六:可视化展示泰坦尼克号数据集中不同年龄的人生存与 死亡人数分布情况。

facet = sns.FacetGrid(text, hue="Survived",aspect=3)
facet.map(sns.kdeplot,'Age',shade= True)
facet.set(xlim=(0, text['Age'].max()))
facet.add_legend()

在这里插入图片描述

任务七:可视化展示泰坦尼克号数据集中不同仓位等级的人年 龄分布情况。

text.Age[text.Pclass == 1].plot(kind='kde')
text.Age[text.Pclass == 2].plot(kind='kde')
text.Age[text.Pclass == 3].plot(kind='kde')
plt.xlabel("age")
plt.legend((1,2,3),loc="best")

在这里插入图片描述
总结:
到这里,我们的可视化就告一段落啦,如果你对数据可视化极其感兴趣,你还可以了解一下其他可视化模块,如:pyecharts,bokeh等。

  • 1
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

浩波的笔记

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值