pandas数据分析之数据绘图

这篇具有很好参考价值的文章主要介绍了pandas数据分析之数据绘图。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

一图胜千言,将信息可视化(绘图)是数据分析中最重要的工作之一。它除了让人们对数据更加直观以外,还可以帮助我们找出异常值、必要的数据转换、得出有关模型的想法等等。pandas 在数据分析、数据可视化方面有着较为广泛的应用。本文将通过实例介绍pandas的数据绘图。
pandas数据分析之数据绘图,python,数据分析

pandas的数据可视化依赖于matplotlib模块的pyplot类,matplotlib在安装Pandas会自动安装。Matplotlib可以对图形做细节控制,绘制出出版质量级别的图形,通过Matplotlib,可以简单地绘制出常用的统计图形。pandas 对 Matplotlib 绘图软件包的基础上单独封装了一个plot()接口,通过调用该接口可以实现常用的绘图操作。
让我们先来认识mataplotlib图形的基本构成。

一、matplotlib图形基本构成

1
2
3
4
import matplotlib.pyplot as plt
import numpy as np
data=np.arange(10)
plt.plot(data)

pandas数据分析之数据绘图,python,数据分析

通过引入matplotlib模块的pyplot类,将数据传入plot()的接口,就可以将数据以图形化的方式展示出来。Matplotlib 生成的图形主要由以下几个部分构成:
pandas数据分析之数据绘图,python,数据分析

  • Figure:指整个图形,您可以把它理解成一张画布,它包括了所有的元素,比如标题、轴线等;

  • Axes:绘制 2D图像的实际区域,也称为轴域区,或者绘图区;

  • Axis:指坐标系中的垂直轴与水平轴,包含轴的长度大小(图中轴长为 7)、轴标签(指 x轴,y轴)和刻度标签;

  • Artist:在画布上看到的所有元素都属于 Artist对象,比如文本对象(title、xlabel、ylabel)、Line2D 对象(用于绘制2D图像)等。

了解matplotlib图形的基本构成非常重要,绘图就是通过matplotlib提供的方法来定义和设置这些基本图形的构成元素来将数据显示在这些元素中。

二、matplotlib显示中文

Matplotlib 默认不支持中文字体,这因为 Matplotlib 只支持 ASCII 字符,但中文标注更加符合中国人的阅读习惯。下面介绍如何在 Windows 环境下让 Matplotlib 显示中文。

1、方法一:临时重写配置文件(临时)

通过临时重写配置文件的方法,可以解决 Matplotlib 显示中文乱码的问题,代码如下所示:

1
2
3
import matplotlib.pyplot as plt
plt.rcParams["font.sans-serif"]=["SimHei"] #设置字体
plt.rcParams["axes.unicode_minus"]=False #该语句解决图像中的“-”负号的乱码问题

2、方法二:修改配置文件 (永久)

通过直接修改配置文件的方法,可以一劳永逸的解决 Matplotlib 的中文乱码问题。注意此过程在 Windows 环境下进行。
Matplotlib 从配置文件 matplotlibrc 中读取相关配置信息,比如字体、样式等,因此我们需要对该配置文件进行更改。使用如下代码查看 matplotlibrc 所在的目录:

1
2
import matplotlib
matplotlib.matplotlib_fname()

pandas数据分析之数据绘图,python,数据分析

打开配置文件后,找到以下信息:
#font.family: sans-serif
#font.serif: DejaVu Serif, Bitstream Vera Serif, Computer Modern Roman, New Century Schoolbook, Century Schoolbook L, Utopia, ITC Bookman, Bookman, Nimbus Roman No9 L, Times New Roman, Times, Palatino, Charter, serif
修改配置将#注释去掉,并将微软雅黑Microsoft YaHei的字体给加上。
pandas数据分析之数据绘图,python,数据分析
最后,在windows的字体目录中复制中文字体微软雅黑:
C:\Windows\Fonts\Microsoft YaHei UI
将微软雅黑的字体复制粘贴到matplotlib的字体库中,字体库路径就在matplotlibrc 所在的目录下
D:\Anaconda3\Lib\site-packages\matplotlib\mpl-data\fonts\ttf
pandas数据分析之数据绘图,python,数据分析
如果是jupyter notbook重启启动jupyter notbook让它重新读取配置文件即可。

三、pandas绘图

数据分析将数据进行可视化绘图展示离不开数据,pandas的两大数据结构Series和DataFrame都提供了相应的方法很方便的进行数据的可视化绘图展示。

1、数据

pandas 提供了 plot() 方法可以快速方便地将 Series 和 DataFrame 中的数据进行可视化。

a) Series

Series 使用 plot 时 x 轴为索引,y 轴为索引对应的具体值:

1
2
3
4
5
import numpy as np
import pandas as pd
series_data=pd.Series(np.random.randn(10),index=range(10))
series_data
series_data.plot()

pandas数据分析之数据绘图,python,数据分析

b) DataFrame

DataFrame 使用 plot 时 x 轴为索引,y 轴为索引对应的多个具体值:

1
2
3
df_staff = pd.read_excel('D:\\Python\\study\\pythontest\\pandastest\\数据集\\staff_sale_byQ.xlsx')
df_staff
df_staff.plot()

pandas数据分析之数据绘图,python,数据分析
plot()可以通过传入x和y指定显示具体的列数据

1
2
#指定X轴及y显示的列数据
df_staff.plot(x='季度',y=['张三','李四'])

pandas数据分析之数据绘图,python,数据分析

2、图形

plot 默认为折线图,折线图也是最常用和最基础的可视化图形,足以满足我们日常 80% 的需求。
除了使用默认的线条绘图外,还可以使用其他绘图方式,如下所示:

  • 柱状图:bar() 或 barh()

  • 箱形图:box()

  • 区域图:area()

  • 饼状图:pie()

  • 散点图:scatter()

  • 直方图:hist()

a) 柱状图

柱状图(bar chart),使用与轴垂直的柱子,通过柱形的高低来表达数据的多少,适用于数据的对比,在整体中也能看到数据的发展变化趋势。
DataFrame 可以直接调用 plot.bar() 生成折线图,与折线图类似,x 轴为索引,其他数字类型的列为 y 轴上的条形,可以设置参数stacked=True生成柱状堆叠图
df.plot.bar()
df.plot.barh() # 横向
df[:5].plot.bar(x=’name’, y=’Q4’) # 指定xy轴
df[:5].plot.bar(‘name’, [‘Q1’, ‘Q2’]) # 指定xy轴

1
2
3
4
5
6
#柱状图
df_staff.plot.bar(x='季度',y=['张三','李四','王五'])
#柱状图可以设置参数stacked=True生成柱状堆叠图
df_staff.plot.bar(x='季度',y=['张三','李四','王五'],stacked=True)
#通过barh()方法可以绘制水平柱状图
df_staff.plot.barh(x='季度',y=['张三','李四','王五'],stacked=True)

pandas数据分析之数据绘图,python,数据分析

b) 箱形图

箱形图(Box Chart)又称盒须图、盒式图或箱线图,是一种用作显示一组数据分布情况的统计图。Series.plot.box() 、 DataFrame.plot.box(), 和 DataFrame.boxplot() 都可以绘制箱形图。
从箱形图中我们可以观察到:

  • 一组数据的关键值:中位数、最大值、最小值等。

  • 数据集中是否存在异常值,以及异常值的具体数值。

  • 数据是否是对称的。

  • 这组数据的分布是否密集、集中。

  • 数据是否扭曲,即是否有偏向性。

1
df_staff.plot.box(x='季度',y=['张三','李四','王五'])

pandas数据分析之数据绘图,python,数据分析

c) 区域图

区域图(Area Chart),又叫面积图。将折线图中折线与自变量坐标轴之间的区域使用颜色或者纹理填充,这样一个填充区域叫做面积,颜色的填充可以更好的突出趋势信息,需要注意的是颜色要带有一定的透明度,透明度可以很好的帮助使用者观察不同序列之间的重叠关系,没有透明度的面积会导致不同序列之间相互遮盖减少可以被观察到的信息。
面积图默认情况下是堆叠的。要生成堆积面积图,每列必须全部为正值或全部为负值。

1
df_staff.plot.area(x='季度',y=['张三','李四','王五'])

pandas数据分析之数据绘图,python,数据分析

d) 饼状图

饼图(Pie Chart)广泛得应用在各个领域,用于表示不同分类的占比情况,通过弧度大小来对比各种分类。饼图通过将一个圆饼按照分类的占比划分成多个区块,整个圆饼代表数据的总量,每个区块(圆弧)表示该分类占总体的比例大小,所有区块(圆弧)的加和等于 100%。
可以使用 DataFrame.plot.pie() 或 Series.plot.pie() 创建饼图

1
2
3
4
5
6
7
df_staff
#看张三每个季度的业绩分布
df_staff.plot.pie(y='张三',subplots=True)
#看第一个季度,每个人的绩效分布
df_staff1=df_staff.loc[0:0,'张三':'孙八'].T
df_staff1.columns=['Q']
df_staff1.plot.pie(y='Q',subplots=True)

pandas数据分析之数据绘图,python,数据分析

e) 散点图

散点图(Scatter graph)也叫 X-Y 图,它将所有的数据以点的形式展现在直角坐标系上,以显示变量之间的相互影响程度,点的位置由变量的数值决定。
通过观察散点图上数据点的分布情况,我们可以推断出变量间的相关性。如果变量之间不存在相互关系,那么在散点图上就会表现为随机分布的离散的点,如果存在某种相关性,那么大部分的数据点就会相对密集并以某种趋势呈现。

1
2
df1 = pd.DataFrame(np.random.rand(50, 4), columns=["a", "b", "c", "d"])
df1.plot.scatter(x="a", y="b");

pandas数据分析之数据绘图,python,数据分析

f) 直方图

直方图(Histogram),又称质量分布图,是一种统计报告图,它是根据具体数据的分布情况,画成以组距为底边、以频数为高度的一系列连接起来的直方型矩形图。
pandas数据分析之数据绘图,python,数据分析

1
2
3
4
5
6
7
8
9
10
11
#构建数据集
df4=pd.DataFrame({
"a": np.random.randn(1000) + 1,
"b": np.random.randn(1000),
"c": np.random.randn(1000) - 1,
"d": np.random.randn(1000) - 2,
},columns=['a','b','c','d'])
df4
df4.plot.hist(alpha=0.5) #指定图形透明度
df4.plot.hist(stacked=True,bins=20) #堆叠并指定箱数为20
df4.diff().hist() #通过diff给每一列数据都绘制一个直方图

pandas数据分析之数据绘图,python,数据分析

至此,本文介绍了pandas常用的绘图组件matplotlib,包括mataplotlib绘图的基本构成,如何在windows下解决中文问题,并通过实例介绍了如何通过pandas的数据集绘制折线图、箱线图、柱状图、饼图、面积图、散点图、直方图等。

参考资料:《利用python进行数据分析》、pandas官网 user guide

---------------------------END---------------------------

题外话

当下这个大数据时代不掌握一门编程语言怎么跟的上脚本呢?当下最火的编程语言Python前景一片光明!如果你也想跟上时代提升自己那么请看一下.

pandas数据分析之数据绘图,python,数据分析

感兴趣的小伙伴,赠送全套Python学习资料,包含面试题、简历资料等具体看下方。

pandas数据分析之数据绘图,python,数据分析

一、Python所有方向的学习路线

Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照下面的知识点去找对应的学习资源,保证自己学得较为全面。

pandas数据分析之数据绘图,python,数据分析
pandas数据分析之数据绘图,python,数据分析

二、Python必备开发工具

工具都帮大家整理好了,安装就可直接上手!pandas数据分析之数据绘图,python,数据分析

三、最新Python学习笔记

当我学到一定基础,有自己的理解能力的时候,会去阅读一些前辈整理的书籍或者手写的笔记资料,这些笔记详细记载了他们对一些技术点的理解,这些理解是比较独到,可以学到不一样的思路。

pandas数据分析之数据绘图,python,数据分析

四、Python视频合集

观看全面零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

pandas数据分析之数据绘图,python,数据分析

五、实战案例

纸上得来终觉浅,要学会跟着视频一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。pandas数据分析之数据绘图,python,数据分析

六、面试宝典

pandas数据分析之数据绘图,python,数据分析

pandas数据分析之数据绘图,python,数据分析文章来源地址https://www.toymoban.com/news/detail-685557.html

简历模板pandas数据分析之数据绘图,python,数据分析
pandas数据分析之数据绘图,python,数据分析

到了这里,关于pandas数据分析之数据绘图的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 实战演练Python数据分析[pandas]

    本篇文章出自于《利用Python进行数据分析》示例数据 请结合提供的示例数据,分析代码的功能,并进行数据分析与可视化拓展。本篇文章通过四个例子,通过MoviesLens数据集、美国1880-2010年的婴儿名字、美国农业部视频数据库、2012年联邦选举委员会数据库来进行着重讲解。

    2024年02月15日
    浏览(49)
  • 【头歌】——数据分析与实践-python-Pandas 初体验-Pandas数据取值与选择-Pandas进阶

    第1关 了解数据处理对象–Series 第2关 了解数据处理对象-DataFrame 第3关 读取 CSV 格式数据 第4关 数据的基本操作——排序 第5关 数据的基本操作——删除 第6关 数据的基本操作——算术运算 第7关 数据的基本操作——去重 第8关 数据重塑 第1关 Series数据选择 第2关 DataFrame数据

    2024年01月22日
    浏览(152)
  • python数据分析之Pandas库(一)

    Pandas有两种常用的数据结构: Series (一维数据)与 DataFrame(二维数据)。 Series 是一种类似于 一维数组 的对象,能保存不同数据类型。 DataFrame 是一个 二维的表格型 的数据结构。 1、初始化 使用一位列表初始化Series 2、索引[数据的行标签]、切片 1、初始化 2、查看数据 1、

    2024年02月09日
    浏览(49)
  • Python 数据分析——matplotlib 快速绘图

    matplotlib采用面向对象的技术来实现,因此组成图表的各个元素都是对象,在编写较大的应用程序时通过面向对象的方式使用matplotlib将更加有效。但是使用这种面向对象的调用接口进行绘图比较烦琐,因此matplotlib还提供了快速绘图的pyplot模块。本节首先介绍该模块的使用方法

    2024年02月11日
    浏览(47)
  • 【Python】数据分析+数据挖掘——探索Pandas中的数据筛选

    当涉及数据处理和分析时,Pandas是Python编程语言中最强大、灵活且广泛使用的工具之一。Pandas提供了丰富的功能和方法,使得数据的选择、筛选和处理变得简单而高效。在本博客中,我们将重点介绍Pandas中数据筛选的关键知识点,包括条件索引、逻辑操作符、 query() 方法以及

    2024年02月15日
    浏览(58)
  • Python数据分析之Pandas核心使用进阶

    在Pandas中,有两种常见的方法可以进行DataFrame的行级遍历:使用 iterrows() 和使用 iteritems() 。 使用 iterrows() 方法: iterrows() 方法返回一个迭代器,可以按行遍历DataFrame。每次迭代返回一个包含行索引和该行数据的元组。 输出结果为: 在上面的例子中,我们使用 iterrows() 方法遍

    2024年02月11日
    浏览(76)
  • 【python绘图(一)】Python数据分析和可视化

    1. 绘制三维曲面图及其投影图 2. 绘制曲面图 3. 绘制曲面投影图 4. 同时绘制曲面图和投影图,用两个图展示 5. 绘制曲面图 6. 同时绘制曲面图及其二维填色图 数据分析包括探索、清理和转换数据以从中提取有用信息。Python有许多库可以使数据分析变得更容易,例如Pandas、Nu

    2024年02月04日
    浏览(46)
  • Matplotlib绘图知识小结--Python数据分析学习

    一、Pyplot子库绘制2D图表 1、Matplotlib Pyplot Pyplot 是 Matplotlib 的子库,提供了和 MATLAB 类似的绘图 API。 Pyplot 是常用的绘图模块,能很方便让用户绘制 2D 图表。 Pyplot 包含一系列绘图函数的相关函数,每个函数会对当前的图像进行一些修改,例如:给图像加上标记,生新的图像,

    2024年02月12日
    浏览(48)
  • 【Python】数据分析+数据挖掘——探索Pandas中的索引与数据组织

    在数据科学和数据分析领域,Pandas是一个备受喜爱的Python库。它提供了丰富的数据结构和灵活的工具,帮助我们高效地处理和分析数据。其中,索引在Pandas中扮演着关键角色,它是一种强大的数据组织和访问机制,使我们能够更好地理解和操作数据。 本博客将探讨Pandas中与索

    2024年02月15日
    浏览(58)
  • Python 数据处理与分析之 Pandas 库

    Pandas(Python Data Analysis Library)是一个流行的 Python 第三方库,是数据处理和数据分析中不可或缺的工具之一,用于数据处理和数据分析。 它提供了高效的数据分析方法和灵活且高效的数据结构。相比于其他的数据处理库,pandas更适用于处理具有关系型数据或者带标签数据的情

    2024年02月05日
    浏览(37)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包