数据分析入门task4

本记录为本人参加datawhale数据分析(泰坦尼克号任务项目)学习笔记,不足之处多多指教。
数据可视化
主要给大家介绍一下Python数据可视化库Matplotlib、seaborn,在本章学习中,你也许会觉得数据很有趣。在打比赛的过程中,数据可视化可以让我们更好的看到每一个关键步骤的结果如何,可以用来优化方案,是一个很有用的技巧。
导入所需要的相关库

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns

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

可视化的视图多种多样,常用的 10 种视图包括了散点图、折线图、直方图、条形图、箱线图、饼图、热力图、蜘蛛图、二元变量分布和成对关系。

按照数据之间的关系:

比较:比较数据间各类别的关系,或者是它们随着时间的变化趋势,比如折线图;
联系:查看两个或两个以上变量之间的关系,比如散点图;
构成:每个部分占整体的百分比,或者是随着时间的百分比变化,比如饼图;
分布:关注单个变量,或者多个变量的分布情况,比如直方图。

1、可视化展示泰坦尼克号数据集中男女中生存人数分布情况(用柱状图试试)。
柱状图
使用matplotlib工具包:使用 plt.bar(x, height) 函数。x代表x值的位置序列,height代表y轴的数值序列,也就是柱子的高度。

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

在这里插入图片描述
2、可视化展示泰坦尼克号数据集中男女中生存人与死亡人数的比例图(用柱状图试试)。
(1)
plt.plot( ) 用法
格式:plt.plot(x, y, ls=’-’, lw=2, label=‘xxx’, color=‘g’ )

x: x轴上的值
y: y轴上的值
ls:线条风格 (linestyle)
lw:线条宽度 (linewidth)
label:标签文本
(2)
使用 seaborn 工具包:sns.barplot(x=None,y=None,data=None),其中data为Dataframe类型,x,y是 data中的变量。

text.groupby(['Sex','Survived'])['Survived'].count().unstack().plot(kind='bar',stacked='True')
plt.title('survived_count')
plt.ylabel('count')

在这里插入图片描述

3、可视化展示泰坦尼克号数据集中不同票价的人生存和死亡人数分布情况。(用折线图试试)(横轴是不同票价,纵轴是存活人数)

在Matplotlib中,我们可以直接使用plt.plot()函数,当然需要提前把数据按照X轴的大小进行排序,如果不排序将杂乱无章无法清晰呈现数据趋势
使用sns.lineplot (x, y, data=None)函数。其中x、y是data中的下标。data就是我们要传入的数据,一般是DataFrame类型

fare_sur = text.groupby(['Fare'])['Survived'].value_counts().sort_values(ascending=False)
fig = plt.figure(figsize=(20, 18))
fare_sur.plot(grid=True)
plt.legend()
plt.show()

在这里插入图片描述
4、可视化展示泰坦尼克号数据集中不同仓位等级的人生存和死亡人员的分布情况。(用柱状图试试)

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

在这里插入图片描述
【思考】看到这个前面几个数据可视化,说说你的第一感受和你的总结
1、一目了然发现数据规律性问题
2、数据呈现与选择的图形类型很重要,准确使用图形将能精准呈现数据规律

5、可视化展示泰坦尼克号数据集中不同年龄的人生存与死亡人数分布情况。(不限表达方式)

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()

在这里插入图片描述

6、可视化展示泰坦尼克号数据集中不同仓位等级的人年龄分布情况。(用折线图试试)

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")

在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值