Python数据可视化-Pandas绘图

文章目录

  • [一. Pandas数据可视化简介](#一. Pandas数据可视化简介)
  • [二. Pandas 单变量可视化](#二. Pandas 单变量可视化)
    • [1. 柱状图](#1. 柱状图)
    • [2. 折线图](#2. 折线图)
    • [3. 面积图](#3. 面积图)
  • [三. Pandas 双变量可视化](#三. Pandas 双变量可视化)

一. Pandas数据可视化简介

pandas库是Python数据分析的核心库

它不仅可以加载和转换数据,还可以做更多的事情:它还可以可视化

pandas绘图API简单易用,是pandas流行的重要原因之一

二. Pandas 单变量可视化

  • 单变量可视化, 包括条形图、折线图、直方图、饼图等
  • 数据使用葡萄酒评论数据集,来自葡萄酒爱好者杂志,包含10个字段,150929行,每一行代表一款葡萄酒
  • 加载数据
python 复制代码
import pandas as pd
reviews = pd.read_csv('data/winemag-data_first150k.csv',index_col=0)
reviews.head()

1. 柱状图

条形图是最简单最常用的可视化图表

在下面的案例中,将所有的葡萄酒品牌按照产区分类,看看哪个产区的葡萄酒品种多:

python 复制代码
kwargs = dict(figsize=(16, 8),fontsize=20,color = ['r', 'g', 'b', 'y', 'm'])
reviews['province'] .value_counts().head().plot.bar(**kwargs)

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

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

python 复制代码
(reviews['province'] .value_counts().head()/len(reviews)).plot.bar(**kwargs)

在《葡萄酒杂志》(Wine Magazine)评述的葡萄酒中,加利福尼亚生产了近三分之一!

条形图(柱状图)非常灵活:

  • 高度可以代表任何东西,只要它是数字即可
  • 每个条形可以代表任何东西,只要它是一个类别即可。

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

python 复制代码
reviews['points'] .value_counts().sort_index().plot.bar(**kwargs)

2. 折线图

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

python 复制代码
reviews['points'] .value_counts().sort_index().plot.line(**kwargs)

柱状图和折线图区别

柱状图:

  • 简单直观,很容易根据柱子的长短看出值的大小,易于比较各组数据之间的差别

折线图:

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

3. 面积图

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

python 复制代码
reviews['points'] .value_counts().sort_index().plot.area(**kwargs)

当只有一个变量需要制图时,面积图和折线图之间差异不大,在这种情况下,折线图和面积图可以互相替换

三. Pandas 双变量可视化

相关推荐
2601_9622994930 分钟前
使用 Python 将 CSV 转为 PDF(含表格样式美化)
python·pdf·csv·spire.xls·表格样式
2601_9620779843 分钟前
利用Python,四步掌握机器学习
python·机器学习·数据挖掘·数据分析·编程
axinawang1 小时前
requests--爬取网页内容
python
盼小辉丶2 小时前
PyTorch强化学习实战——融合人类示范数据的高效强化学习
人工智能·pytorch·python·深度学习·强化学习
聪明蛋子哟2 小时前
MCP协议深度落地:如何用Python/Java双语言实现统一的工具调用网关?
java·开发语言·python
李妍.2 小时前
PyTorch GPU 版安装记录(RTX 5060 + Python 3.14)
人工智能·pytorch·python
90后的晨仔2 小时前
Python 基础语法完整汇总
python
广慈新医知2 小时前
当健康问题越来越复杂,AI更适合先帮我们“把问题问清楚”
人工智能·python
一晌小贪欢2 小时前
python-第27天:Python面向对象详解
开发语言·python·数据可视化·面向对象·python办公
青 春 记 忆2 小时前
LeetCode 350. 两个数组的交集 II|Python 解法详解
python·算法·leetcode