Pandas数据分析:快速图表可视化各类操作详解+实例代码(三)

简介: Pandas数据分析:快速图表可视化各类操作详解+实例代码(三)

前言


一般我们做数据挖掘或者是数据分析,再或者是大数据开发提取数据库里面的数据时候,难免只能拿着表格数据左看右看,内心总是希望能够根据自己所想立马生成一张数据可视化的图表来更直观的呈现数据。而当我们想要进行数据可视化的时候,往往需要调用很多的库与函数,还需要数据转换以及大量的代码处理编写。这都是十分繁琐的工作,确实只为了数据可视化我们不需要实现数据可视化的工程编程,这都是数据分析师以及拥有专业的报表工具来做的事情,日常分析的话我们根据自己的需求直接进行快速出图即可,而Pandas正好就带有这个功能,当然还是依赖matplotlib库的,只不过将代码压缩更容易实现。下面就让我们来了解一下如何快速出图。

b40820f8c20448d996c7e8a392c60e34.png


Pandas数据分析:快速图表可视化各类操作详解+实例代码(一)


Pandas数据分析:快速图表可视化各类操作详解+实例代码(二)


Pandas数据分析系列专栏已经更新了很久了,基本覆盖到使用pandas处理日常业务以及常规的数据分析方方面面的问题。从基础的数据结构逐步入门到处理各类数据以及专业的pandas常用函数讲解都花费了大量时间和心思创作,如果大家有需要从事数据分析或者大数据开发的朋友推荐订阅专栏,将在第一时间学习到Pandas数据分析最实用常用的知识。此篇博客篇幅较长,涉及到数据可视化等各类操作,值得细读实践一番,我会将Pandas的精华部分挑出细讲实践。博主会长期维护博文,有错误或者疑惑可以在评论区指出,感谢大家的支持。


一、六边形箱图


可以通过DataFrame.plot.hexbin()来创建一个六边形箱图。如果数据过于密集,无法单独绘制每个点,则Hexbin图可以作为散点图的有用替代方案。

这里我们不用上一个数据集,换用一个数据集,就用这次2022国赛E题的数据来展示:


20123a041b6f4d4faca0e3817ffc32cc.png

df_example[['出现频次','需求总数']].plot.hexbin(x='出现频次',y='需求总数',gridsize=25)

162d6f5d13604c9496e7d4d47a4d127f.png


效果不是很好,因为上限和下限都差的很多,用集中的数据集更好展现效果。


df = pd.DataFrame(np.random.randn(1000, 2), columns=["a", "b"])
df["b"] = df["b"] + np.arange(1000)
df.plot.hexbin(x="a", y="b", gridsize=25);

8941be34ab1848c387d19bb4350f73fc.png

关键字参数gridsize:它控制x方向六边形的数量,默认值为100。网格越大,箱子越小。


df.plot.hexbin(x="a", y="b", gridsize=10);



b789baa408ba4b1b8a479c7c37a33790.png

默认情况下,计算每个(x,y)点周围计数的直方图。您可以通过向C和reduce_C_function参数传递值来指定替代聚合。C指定每个(x,y)点的值,reduce_C_function是一个参数的函数,它将bin中的所有值聚合为一个数字(例如mean、max、sum、std)。在本例中,位置由a列和b列给出,而值由z列给出。这些箱子通过NumPy的max函数进行聚合。


df = pd.DataFrame(np.random.randn(1000, 2), columns=["a", "b"])
df["b"] = df["b"] + np.arange(1000)
df["z"] = np.random.uniform(0, 3, 1000)
df.plot.hexbin(x="a", y="b", C="z", reduce_C_function=np.max, gridsize=25);

5782e14f98e245c5bea44191d5ea883c.png

二、饼图


使用DataFrame.plot.pie()或者是Series.plot.pie()可以创建饼图。如果数据包含任何NaN,则它们将自动填充为0。如果数据中有任何负值,则会引发ValueError。


series = pd.Series(3 * np.random.rand(4), index=["a", "b", "c", "d"], name="series")
series.plot.pie(figsize=(6, 6));



272c17126d7945fca331669c298c6838.png


对于饼图,最好使用正方形图形,即图形纵横比1。可以创建宽度和高度相等的图形,或者在绘图后通过调用ax强制使纵横比相等。返回的axes对象上的ax.set_aspect('equal')。


带有DataFrame的饼图需要通过y参数或subplots=True指定目标列。当指定y时,将绘制所选列的饼图。如果指定subplots=True,则每个列的饼图都将绘制为subplots。默认情况下,将在每个饼图中绘制图例;指定legend=False将其隐藏。


cc896046e1284b38a3c713c44b04497d.png


q1_1_result['最终得分'].plot.pie(labels=q1_1_result['物料编码'].values,figsize=(6, 6),autopct="%.2f")




dbfbb182e9fb4cb0b3e68972ca87c169.png

df_flow_mark[['湿度','体感温度']].plot.pie(subplots=True, figsize=(8, 4));

42cf63a85f534f76a354e59301d5c514.png


可以使用标签和颜色关键字指定每个按钮的标签和颜色。


大多数Pandas图都使用标签和颜色参数(注意这些参数上没有“s”)。与matplotlib.pyplot一致。pie()必须使用标签和颜色。


如果要隐藏楔体标签,指定labels=None。如果指定了fontsize,则该值将应用于楔形标签。此外,matplotlib.pyplot支持的其他关键字,可以使用pie()。

series.plot.pie(
    labels=["AA", "BB", "CC", "DD"],
    colors=["r", "g", "b", "c"],
    autopct="%.2f",
    fontsize=20,
    figsize=(6, 6),
);

5957dd97b6c546aba59058082a608a27.png


如果传递的值的总和小于1.0,则会重新缩放这些值,使其总和为1。


1. series = pd.Series([0.1] * 4, index=["a", "b", "c", "d"], name="series2")
2. series.plot.pie(figsize=(6, 6));


99e16f7f6688436ba2b13dbe5f489d62.png



三、缺失数据绘制处理


Pandas在绘制包含缺失数据的DataFrame或Series时尽可能完全填充。根据打印类型,删除、省略或填充缺少的值。


ad90bcbb9a024601a5283aaa7f1822fd.png

如果这些默认值中有任何一个不是您想要的,或者如果您想明确说明如何处理缺少的值,请考虑在绘制之前使用fillna()或dropna()。


那么到目前为止所有常用的绘图形式都讲完了。接下来会对plot的多样性组合表和特殊形式表进行补充,以及一些其他类数据的绘图进行总结:



12c44ea6bfa54c298610dc69edba22a7.png


72ac773ac0a24a118f943dbb7eedc7be.png


265b4b03dfca4207ba91ae5c89145678.png


26c7b895a4804a5d83966bb8c245cd68.png


目录
相关文章
|
29天前
|
机器学习/深度学习 存储 数据可视化
数据分析和可视化
数据分析和可视化
|
23天前
|
数据采集 传感器 数据可视化
利用Python进行数据分析与可视化
【9月更文挑战第11天】在数字化时代,数据已成为企业决策和科学研究的关键。本文将引导读者了解如何使用Python这一强大的工具进行数据分析和可视化,帮助初学者理解数据处理的流程,并掌握基本的可视化技术。通过实际案例,我们将展示如何从原始数据中提取信息,进行清洗、处理,最终以图形方式展现结果,使复杂的数据变得直观易懂。
|
2月前
|
存储 编解码 数据可视化
Visium HD空间数据分析、可视化以及整合 (2)
Visium HD空间数据分析、可视化以及整合 (2)
48 3
Visium HD空间数据分析、可视化以及整合 (2)
|
2月前
|
数据可视化 数据挖掘 Python
"揭秘Visium HD黑科技:空间数据分析大揭秘,可视化与整合的艺术之旅!"
【8月更文挑战第20天】近年来,空间转录组技术,特别是Visium HD技术,因其高分辨率与高通量特性,在单细胞生物学领域受到广泛关注。本文通过Python演示了Visium HD数据的全流程分析:从数据准备(读取表达矩阵和空间坐标)、空间数据分析(计算基因表达统计量)、数据可视化(绘制基因表达热图和空间点分布图),到多样本数据整合,为读者提供了实用的分析指南,助力深入探索空间转录组学的奥秘。
64 4
|
2月前
|
SQL 数据可视化 数据挖掘
SQL 在数据分析中简直太牛啦!从数据提取到可视化,带你领略强大数据库语言的神奇魅力!
【8月更文挑战第31天】在数据驱动时代,SQL(Structured Query Language)作为强大的数据库查询语言,在数据分析中扮演着关键角色。它不仅能够高效准确地提取所需数据,还能通过丰富的函数和操作符对数据进行清洗与转换,确保其适用于进一步分析。借助 SQL 的聚合、分组及排序功能,用户可以从多角度深入分析数据,为企业决策提供有力支持。尽管 SQL 本身不支持数据可视化,但其查询结果可轻松导出至 Excel、Python、R 等工具中进行可视化处理,帮助用户更直观地理解数据。掌握 SQL 可显著提升数据分析效率,助力挖掘数据价值。
39 0
|
2月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析的新手指南深入浅出操作系统:从理论到代码实践
【8月更文挑战第30天】在数据驱动的世界中,掌握数据分析技能变得越来越重要。本文将引导你通过Python这门强大的编程语言来探索数据分析的世界。我们将从安装必要的软件包开始,逐步学习如何导入和清洗数据,以及如何使用Pandas库进行数据操作。文章最后会介绍如何使用Matplotlib和Seaborn库来绘制数据图表,帮助你以视觉方式理解数据。无论你是编程新手还是有经验的开发者,这篇文章都将为你打开数据分析的大门。
|
2月前
|
数据可视化 Python
Pandas可视化指南:从零教你绘制数据图表
Pandas可视化指南:从零教你绘制数据图表
seaborn常用的10种数据分析图表
seaborn常用的10种数据分析图表
|
2月前
|
数据可视化 数据挖掘 Python
数据可视化不再难!Matplotlib带你轻松绘制精美图表,让数据分析焕发光彩!
【8月更文挑战第22天】今天分享如何用Python的Matplotlib库绘制多样图表。Matplotlib是数据可视化的强大工具,对数据分析至关重要。本文分六部分:首先介绍环境准备,包括安装和配置;随后通过四个案例演示折线图、柱状图、饼图及散点图的绘制方法;最后总结并鼓励大家进一步探索Matplotlib的丰富功能。跟着示例操作,你将学会基本图表的制作,提升数据展示技能。
29 0
|
2月前
|
数据可视化 前端开发 JavaScript
Echarts+JS实现数据分析可视化大屏!!附源码!!
Echarts+JS实现数据分析可视化大屏!!附源码!!
下一篇
无影云桌面