动手学数据分析-数据可视化

动手学数据分析-数据可视化

全部参考 datawhale-动手学数据分析

开始前导入numpy和pandas

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
print(pd.__version__)
1.0.3
#加载result.csv这个数据
df = pd.read_csv('result.csv')
df.head()

在这里插入图片描述
最基本的可视化图案有哪些?分别适用于那些场景?

  • 折线图: 展示数据随时间或有序类别的波动情况的趋势变化
  • 柱状图: 展示多个分类的数据变化和同类别各变量之间的比较情况。
  • 直方图和密度图: 用于给出值频率的离散显
  • 散点图或点图: 用于发现各变量之间的关系。存在大量数据点,结果更精准,比如回归分析
  1. 可视化展示泰坦尼克号数据集中男女中生存人数分布情况(用柱状图试试)
sex = df.groupby('Sex')['Survived'].sum()
sex.plot.bar()
plt.title('survived_count')
plt.show()

在这里插入图片描述

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

在这里插入图片描述

2.计算出泰坦尼克号数据集中男女中死亡人数,并可视化展示

sex = df.groupby(['Sex','Survived'])['Survived'].count().unstack()
sex.plot.bar(stacked='True')  
plt.show()

在这里插入图片描述

sex = df.groupby(['Sex','Survived'])['Survived'].count().unstack()
sex.plot.pie(subplots='True')  
plt.show()

在这里插入图片描述
可以明显看出女性的存活率远大于男性,性别可能会影响存活率
3. 可视化展示泰坦尼克号数据集中男女中生存人与死亡人数的比例图

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

在这里插入图片描述

  1. 可视化展示泰坦尼克号数据集中不同票价的人生存和死亡人数分布情况。(用折线图试试)(横轴是不同票价,纵轴是存活人数)
    排序:
fare_sur = df.groupby(['Fare'])['Survived'].value_counts().sort_values(ascending=False)
fare_sur.plot(grid=True)

在这里插入图片描述

没有排序:

fare_sur = df.groupby(['Fare'])['Survived'].value_counts()
fare_sur.plot(grid=True)

在这里插入图片描述

  1. 可视化展示泰坦尼克号数据集中不同仓位等级的人生存和死亡人员的分布情况
pclass_sur = df.groupby(['Pclass'])['Survived'].value_counts().unstack()
pclass_sur.plot.barh()

在这里插入图片描述

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

在这里插入图片描述

  1. 可视化展示泰坦尼克号数据集中不同年龄的人生存与死亡人数分布情况。
facet = sns.FacetGrid(df, hue="Survived",aspect=3)
facet.map(sns.kdeplot,'Age',shade= True)
facet.set(xlim=(0, df['Age'].max()))
facet.add_legend()

在这里插入图片描述

  1. 可视化展示泰坦尼克号数据集中不同仓位等级的人年龄分布情况。
df.Age[df.Pclass == 1].plot(kind='kde')
df.Age[df.Pclass == 2].plot(kind='kde')
df.Age[df.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、付费专栏及课程。

余额充值