Pandas数据可视化

pandas库是Python数据分析的核心库 它不仅可以加载和转换数据,还可以做更多的事情:它还可以可视化 pandas绘图API简单易用,是pandas流行的重要原因之一

Pandas 单变量可视化

单变量可视化, 包括条形图、折线图、直方图、饼图等

数据使用葡萄酒评论数据集,来自葡萄酒爱好者杂志,包含10个字段,150929行,每一行代表一款葡萄酒

加载数据

条形图是最简单最常用的可视化图表 在下面的案例中,将所有的葡萄酒品牌按照产区分类,看看哪个产区的葡萄酒品种多:

先将plot需要的参数打包成一个字典,然后在使用**解包(防止传进去的成为一个参数)

上面的图表说明加利福尼亚生产的葡萄酒比其他省都多

也可以折算成比例, 计算加利福尼亚葡萄酒占总数的百分比 :

条形图(柱状图)非常灵活: 高度可以代表任何东西,只要它是数字即可 每个条形可以代表任何东西,只要它是一个类别即可。

也可以用来展示《葡萄酒杂志》(Wine Magazine)给出的评分数量的分布情况:

如果要绘制的数据不是类别值,而是连续值比较适合使用折线图 :

柱状图和折线图区别 柱状图:简单直观,很容易根据柱子的长短看出值的大小,易于比较各组数据之间的差别

折线图: 易于比较各组数据之间的差别; 能比较多组数据在同一个维度上的趋势; 每张图上不适合展示太多折线

面积图就是在折线图的基础上,把折线下面的面积填充颜色 :

直方图

直方图看起来很像条形图, 直方图是一种特殊的条形图,它可以将数据分成均匀的间隔,并用条形图显示每个间隔中有多少行, 直方图柱子的宽度代表了分组的间距,柱状图柱子宽度没有意义

直方图缺点:将数据分成均匀的间隔区间,所以它们对歪斜的数据的处理不是很好:

在第一个直方图中,将价格>200的葡萄酒排除了。

在第二个直方图中,没有对价格做任何处理,由于有个别品种的酒价格极高,导致刻度范围变大,导致直方图的价格分布发生变化 。

数据倾斜: 当数据在某个维度上分布不均匀,称为数据倾斜

  1. 一共15万条数据,价格高于1500的只有三条
  2. 价格高于500的只有73条数据,说明在价格这个维度上,数据的分布是不均匀的
  3. 直方图适合用来展示没有数据倾斜的数据分布情况,不适合展示数据倾斜的数据

饼图

饼图也是一种常见的可视化形式

python 复制代码
reviews['province'].value_counts().head(10).plot.pie()

**饼图的缺陷:**饼图只适合展示少量分类在整体的占比

  1. 如果分类比较多,必然每个分类的面积会比较小,这个时候很难比较两个类别
  2. 如果两个类别在饼图中彼此不相邻,很难进行比较
  3. 可以使用柱状图图来替换饼图

Pandas 双变量可视化

数据分析时,我们需要找到变量之间的相互关系,比如一个变量的增加是否与另一个变量有关,数据可视化是找到两个变量的关系的最佳方法;

散点图

最简单的两个变量可视化图形是散点图,散点图中的一个点,可以表示两个变量

python 复制代码
reviews[reviews['price'] < 100].sample(100).plot.scatter(x='price', y='points')

调整图形大小,字体大小,由于pandas的绘图功能是对Matplotlib绘图功能的封装,所以很多参数pandas 和 matplotlib都一样

python 复制代码
reviews[reviews['price'] < 100].sample(100).plot.scatter(x='price', y='points',figsize=(14,8),fontsize = 16)

修改x轴 y轴标签字体

上图显示了价格和评分之间有一定的相关性:也就是说,价格较高的葡萄酒通常得分更高。

散点图最适合使用相对较小的数据集以及具有大量唯一值的变量。 有几种方法可以处理过度绘图。 一:对数据进行采样 二:hexplot(蜂巢图)

hexplot

hexplot将数据点聚合为六边形,然后根据其内的值为这些六边形上色:

上图x轴坐标缺失,属于bug,可以通过调用matplotlib的api添加x坐标:

该图中的数据可以和散点图中的数据进行比较,但是hexplot能展示的信息更多

从hexplot中,可以看到《葡萄酒杂志》(Wine Magazine)评论的葡萄酒瓶大多数是87.5分,价格20美元 Hexplot和散点图可以应用于区间变量和/或有序分类变量的组合。

堆叠图(Stacked plots)

  • 展示两个变量,除了使用散点图,也可以使用堆叠图
  • 堆叠图是将一个变量绘制在另一个变量顶部的图表
  • 接下来通过堆叠图来展示最常见的五种葡萄酒

从结果中看出,最受欢迎的葡萄酒是,Chardonnay(霞多丽白葡萄酒),Pinot Noir(黑皮诺),Cabernet Sauvignon(赤霞珠),Red Blend(混酿红葡萄酒) ,Bordeaux-style Red Blend (波尔多风格混合红酒)

从数据中取出最常见的五种葡萄酒:

通过透视表找到每种葡萄酒中,不同评分的数量 :

从上面的数据中看出,行列分别表示一个类别变量(评分,葡萄酒类别),行列交叉点表示计数,这类数据很适合用堆叠图展示

折线图在双变量可视化时,仍然非常有效

python 复制代码
wine_counts.plot.line()
相关推荐
p***233610 分钟前
python的sql解析库-sqlparse
数据库·python·sql
陈奕昆21 分钟前
n8n实战营Day1课时3:高频节点解析+Webhook表单同步Excel实操
人工智能·python·n8n
德彪稳坐倒骑驴25 分钟前
Power BI
信息可视化·powerbi
深蓝电商API29 分钟前
动态 Token、加密参数逆向全流程:从原理到实战破解
爬虫·python
qq_17082750 CNC注塑机数采29 分钟前
【Python TensorFlow】 TCN-GRU时间序列卷积门控循环神经网络时序预测算法(附代码)
python·rnn·神经网络·机器学习·gru·tensorflow·tcn
java1234_小锋37 分钟前
基于Python深度学习的车辆车牌识别系统(PyTorch2卷积神经网络CNN+OpenCV4实现)视频教程 - 切割车牌矩阵获取车牌字符
python·深度学习·cnn·车牌识别
u***28471 小时前
Python连接SQL SEVER数据库全流程
数据库·python·sql
礼拜天没时间.1 小时前
《Grafana 企业级可视化监控实战指南:从安装、配置到智能告警》:Grafana 简介
linux·运维·信息可视化·zabbix·grafana·监控
礼拜天没时间.1 小时前
《Grafana 企业级可视化监控实战指南:从安装、配置到智能告警》:Grafana 环境搭建
linux·运维·信息可视化·zabbix·grafana·监控
测试19981 小时前
接口测试工具之postman详解
自动化测试·软件测试·python·测试工具·测试用例·接口测试·postman