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


目录
相关文章
|
13天前
|
存储 数据挖掘 索引
Pandas Series 和 DataFrame 常用属性详解及实例
Pandas 是 Python 数据分析的重要工具,其核心数据结构 Series 和 DataFrame 广泛应用。本文详细介绍了这两种结构的常用属性,如 `index`、`values`、`dtype` 等,并通过具体示例帮助读者更好地理解和使用这些属性,提升数据分析效率。
28 4
|
22天前
|
存储 数据可视化 数据挖掘
使用Python进行数据分析和可视化
本文将引导你理解如何使用Python进行数据分析和可视化。我们将从基础的数据结构开始,逐步深入到数据处理和分析的方法,最后通过实际的代码示例来展示如何创建直观的数据可视化。无论你是初学者还是有经验的开发者,这篇文章都将为你提供有价值的见解和技巧。让我们一起探索数据的世界,发现隐藏在数字背后的故事!
|
25天前
|
机器学习/深度学习 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第42天】本文将介绍如何使用Python进行数据分析和可视化。我们将从数据导入、清洗、探索性分析、建模预测,以及结果的可视化展示等方面展开讲解。通过这篇文章,你将了解到Python在数据处理和分析中的强大功能,以及如何利用这些工具来提升你的工作效率。
|
1月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据分析和可视化
【10月更文挑战第33天】本文将介绍如何使用Python编程语言进行数据分析和可视化。我们将从数据清洗开始,然后进行数据探索性分析,最后使用matplotlib和seaborn库进行数据可视化。通过阅读本文,你将学会如何运用Python进行数据处理和可视化展示。
|
2月前
|
机器学习/深度学习 人工智能 搜索推荐
某A保险公司的 数据图表和数据分析
某A保险公司的 数据图表和数据分析
64 0
某A保险公司的 数据图表和数据分析
|
2月前
|
机器学习/深度学习 数据采集 算法
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
【10月更文挑战第5天】随着数据科学和机器学习领域的快速发展,处理大规模数据集的能力变得至关重要。Python凭借其强大的生态系统,尤其是NumPy、Pandas和SciPy等库的支持,在这个领域占据了重要地位。本文将深入探讨这些库如何帮助科学家和工程师高效地进行数据分析,并通过实际案例来展示它们的一些高级应用。
59 0
探索Python科学计算的边界:NumPy、Pandas与SciPy在大规模数据分析中的高级应用
|
2月前
|
数据采集 数据可视化 数据挖掘
使用Python进行数据处理与可视化——以气温数据分析为例
【10月更文挑战第12天】使用Python进行数据处理与可视化——以气温数据分析为例
288 0
|
2月前
|
数据采集 数据可视化 数据挖掘
Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
【10月更文挑战第3天】Python 数据分析实战:使用 Pandas 进行数据清洗与可视化
129 0
|
2月前
|
机器学习/深度学习 数据采集 数据可视化
如何理解数据分析及数据的预处理,分析建模,可视化
如何理解数据分析及数据的预处理,分析建模,可视化
59 0
|
19天前
|
机器学习/深度学习 算法 数据挖掘
数据分析的 10 个最佳 Python 库
数据分析的 10 个最佳 Python 库
55 4
数据分析的 10 个最佳 Python 库