Python程序设计课件第15章数据分析与可视化基础.pptx

上传人(卖家):晟晟文业 文档编号:4525738 上传时间:2022-12-16 格式:PPTX 页数:63 大小:454.72KB
下载 相关 举报
Python程序设计课件第15章数据分析与可视化基础.pptx_第1页
第1页 / 共63页
Python程序设计课件第15章数据分析与可视化基础.pptx_第2页
第2页 / 共63页
Python程序设计课件第15章数据分析与可视化基础.pptx_第3页
第3页 / 共63页
Python程序设计课件第15章数据分析与可视化基础.pptx_第4页
第4页 / 共63页
Python程序设计课件第15章数据分析与可视化基础.pptx_第5页
第5页 / 共63页
点击查看更多>>
资源描述

1、 数据分析基础与数据分析基础与NumPy 数据统计分析与数据统计分析与Pandas 数据可视化与数据可视化与Matplotlib 第15章 数据分析与可视化基础参考书目Python 程序设计目录 数据分析基础与数据分析基础与NumPy 数据统计分析与数据统计分析与Pandas 数据可视化与数据可视化与Matplotlib 这里说明图片内容 用来存储和处理大型矩阵NumPy 提供了大量的库和标准数据模型,以及高效、便捷地处理大型数据集所需的函数和方法PandasMatplotlib 绘图库 数据分析基础与数据分析基础与NumPy 数据统计分析与数据统计分析与Pandas 数据可视化与数据可视化与

2、Matplotlib 目录这里说明图片内容 数据分析基础与NumPy1 NumPy概述NumPy:开源的Python科学计算库,包含很多实用的数学函数,涵盖线性代数运算、傅里叶变换和随机数生成等功能。部分功能如下:1)ndarray:一个具有矢量算术运算且节省空间的多维数组。2)用于对整组数据进行快速运算的标准数学函数(无须编写循环)。3)用于读写磁盘数据的工具以及用于操作内存映射文件的工具。4)线性代数、随机数生成以及傅里叶变换功能。5)用于集成C、C+、Fortran等语言的代码编写工具。数据分析基础与NumPy2 NumPy的对象ndarrayNumPy提供了两种基本对象:ndarray

3、和ufunc。多维数组对象 该对象由两个部分组成,即实际的数据和描述这些数据的元数据。大部分的数组操作仅仅修改元数据部分,而不改变底层的实际数据。ndarray 能够对数组进行处理的函数ufunc数据分析基础与NumPy2 NumPy的对象ndarrayndarray 对象是用于存放同类型元素的多维数组。以 0 下标为开始进行集合中元素的索引,每个元素在内存中都有相同存储大小的区域。ndarray 内部由以下内容组成:指向数据的指针数据类型表示数组形状的元组一个跨度元组数据分析基础与NumPy2 NumPy的对象ndarrayndarray的内部结构:数据分析基础与NumPy2 NumPy的对

4、象ndarray1ndarray(数组)的属性NumPy 数组的维数称为秩(rank),秩就是轴的数量,即数组的维度。axis=0,表示沿着第 0 轴进行操作。数据分析基础与NumPy2 NumPy的对象ndarray【例】ndarray(数组)的常用属性应用演示。import numpy as npdata=6,2,3,1,4arr1=np.array(data)print(数组维度的元组:,arr1.shape)print(数组维数:,arr1.ndim)print(数组元素的类型:,arr1.dtype)运行结果:数组维度的元组:(5,)数组维数:1数组元素的类型:int32数据分析基础

5、与NumPy3 NumPy的基本操作1NumPy.array 创建一个创建一个ndarray只需调用只需调用NumPy的的 array函数即可:函数即可:numpy.array(object,dtype=None,copy=True,order=None,subok=False,ndmin=0)object:数组或嵌套的数列 dtype:数组元素的数据类型,可选 copy:对象是否需要复制,可选 order:创建数组的样式,C为行方向,F为列方向,A为任意方向(默认)subok:默认返回一个与基类类型一致的数组 ndmin:指定生成数组的最小维度数据分析基础与NumPy3 NumPy的基本操作

6、2NumPy.emptyNumPy.emptyNumPy.empty用于创建指定形状和用于创建指定形状和dtypedtype的未初始化数组:的未初始化数组:NumPy.empty(shape,dtype=float,order=C)shape:空数组的形状,整数或整数元组 dtype:所需的输出数组类型,可选 order:C为按行的 C 风格数组,F为按列的 Fortran 风格数组x=np.empty(3,2,dtype=int)数据分析基础与NumPy3 NumPy的基本操作3.NumPy.zerosNumPy.zerosNumPy.zeros函数用于返回特定大小,以函数用于返回特定大小,

7、以0 0填充的新数组。填充的新数组。NumPy.zeros(shape,dtype=float,order=C)shape:空数组的形状,整数或整数元组 dtype:所需的输出数组类型,可选 order:C为按行的 C 风格数组,F为按列的 Fortran 风格数组x=np.zeros(5)数据分析基础与NumPy3 NumPy的基本操作4NumPy.onesNumPy.onesNumPy.ones函数用于返回特定大小,以函数用于返回特定大小,以 1 1 填充的新数组。填充的新数组。NumPy.ones(shape,dtype=None,order=C)shape:空数组的形状,整数或整数元组

8、 dtype:所需的输出数组类型,可选 order:C为按行的 C 风格数组,F为按列的 Fortran 风格数组x=np.ones(5)1.1.1.1.1.数据分析基础与NumPy3 NumPy的基本操作5NumPy.asarray此函数类似于此函数类似于NumPy.arrayNumPy.array,除了它有较少的参数。对于将,除了它有较少的参数。对于将 Python Python 序列转换为序列转换为ndarrayndarray非常有用。非常有用。NumPy.asarray(a,dtype=None,order=None)a:任意形式的输入参数,比如列表、列表的元组、元组、元组的元组、元组

9、的列表 dtype:通常,输入数据的类型会应用到返回的ndarray order:C为按行的 C 风格数组,F为按列的 Fortran 风格数组x=1,2,3 a=np.asarray(x)1 2 3数据分析基础与NumPy3 NumPy的基本操作6NumPy.arange该函数返回该函数返回ndarrayndarray对象,包含给定范围内的等间隔值对象,包含给定范围内的等间隔值。NumPy.arange(start,stop,step,dtype)start:范围的起始值,默认为0 stop:范围的终止值(不包含)step:两个值的间隔,默认为1 dtype:返回ndarray的数据类型,如

10、果没有提供,则会使用输入数据的类型。x=np.arange(5)0 1 2 3 4数据分析基础与NumPy3 NumPy的基本操作7ndarray的随机创建NumPy.randomNumPy.random用于生成随机数据。用于生成随机数据。arr=np.random.rand(3,4)数据分析基础与NumPy4 NumPy统计函数NumPy提供了很多统计函数,用于从数组中查找最小元素,最大元素,百分位标准差和方差等。1.numpy.amin和 numpy.amax计算数组中的元素沿指定轴的最小值numpy.amax(a,axis=None,out=None)a:输入数据。axis:指定沿着某个

11、轴来计算最大值,axis=0表示按列,axis=l表示按行,默认值None表示对整个数组。out:替代输出数组,用于放置结果,默认值为None。x=np.arange(5)0 1 2 3 4计算数组中的元素沿指定轴的最大值numpy.max(a,axis=None,out=None)数据分析基础与NumPy4 NumPy统计函数2.numpy.ptp函数numpy.ptp函数返回沿某轴(axis)方向上的最大值与最小值的差值即maximum-minimum的值形成的数组。numpy.ptp(a,axis=None,out=None)a:输入数据。axis:指定沿着某个轴来计算最大值,axis=

12、0表示按列,axis=l表示按行,默认值None表示对整个数组。out:替代输出数组,用于放置结果,默认值为None。print(每行元素最大值和最小值之差:,np.ptp(a,axis=1)print(每列元素最大值和最小值之差:,np.ptp(a,axis=0)数据分析基础与NumPy4 NumPy统计函数3.numpy.percentile函数numpy.percentile函数用于计算数组中元素的百分位数。numpy.percentile(a,q,axis)a:输入数组;q:要计算的百分位数,在 0 100 之间;axis:沿着它计算百分位数的轴。print(在纵列上求50%的分位数:

13、,np.percentile(a,50,axis=0)print(在横列上求50%的分位数:,np.percentile(a,50,axis=1)数据分析基础与NumPy4 NumPy统计函数4.numpy.median函数沿某轴(axis)方向计算数组中的中位数。numpy.median(a,axis=None)a:数组或可以转化成数组的对象;axis:指定沿着某个轴来计算中位数,axis=0表示按列,axis=l表示按行,默认值None表示对整个数组。print(所有数组元素的中位数:,np.median(a)print(在纵列上元素的中位数:,np.median(a,axis=0)pri

14、nt(在横列列上元素的中位数:,np.median(a,axis=1)数据分析基础与NumPy4 NumPy统计函数5.numpy.mean函数计算数组或者轴方向的算术平均数。numpy.mean(a,axis=None)a:数组或可以转化成数组的对象;axis:指定沿着某个轴来计算中位数,axis=0表示按列,axis=l表示按行,默认值None表示对整个数组。数据分析基础与NumPy4 NumPy统计函数6.numpy.average函数根据在另一个数组中给出的各自的权重计算数组中元素的加权平均值。numpy.average(a,axis=None,weights=None)a:输入数组;

15、axis:指定沿着某个轴来计算平均值,axis=0表示按列,axis=l表示按行,默认值None表示对整个数组;weights:表示权重值。当权重值为维数组时,其长度必须与沿指定轴方向的长度一致。另外,权重值数组也可以与a数组的形状相同。average()函数除了a参数外,其余参数为可选项。wts=np.array(4,3,2,1)print(指定权重,求平均值:,np.average(a,weights=wts)数据分析基础与NumPy4 NumPy统计函数7.标准差与标准差(1)标准差计算标准差的公式如下:std=sqrt(mean(x-x.mean()*2)a:输入数组;axis:指定沿

16、着某个轴来计算平均值,axis=0表示按列,axis=l表示按行,默认值None表示对整个数组。numpy.std(a,axis=None)数据分析基础与NumPy4 NumPy统计函数(2)方差方差是每个样本值与全体样本值的平均数之差的平方值的平均数。mean(x-x.mean()*2)a:输入数组;axis:指定沿着某个轴来计算平均值,axis=0表示按列,axis=l表示按行,默认值None表示对整个数组;dtype:数据类型。numpy.var(a,axis=None,dtype=None)数据分析基础与数据分析基础与NumPy 数据统计分析与数据统计分析与Pandas 数据可视化与数

17、据可视化与Matplotlib 目录这里说明图片内容 数据统计分析与PandasPandas的核心是Series和DataFrame两大数据结构 Series数据结构用于存储个序列的维数组 DataFrame数据结构用于存储复杂数据的二维数据结构数据统计分析与Pandas1 Series对象及常用操作Series由一组数据以及组与之相关的数据标签组成的。数据(即值)数据(即值)存放存放在在valuevalue主数组主数组 标签标签(即索引)(即索引)存储在存储在indexindex数组中数组中 SeriesSeries的表现形式为:索引在左边,值在右边的表现形式为:索引在左边,值在右边。例如,

18、Series对象1,3,5,2的内部结构数据统计分析与Pandas1 Series对象及常用操作1.创建Series对象(1 1)通过)通过SeriesSeries构造函数创建。构造函数创建。pandas.Series(data=None,index=None,dtype=None,name=None,copy=False)data:传递给序列的数据,可以是ndarray、list或字典。index:设置轴的索引,索引值的个数与data参数的长度相同。如果没有设置index参数,那么默认值是 np.arange(n),或者 RangeIndex(0,1,2,n)。dtype:设置序列元素的数据

19、类型,如果没有设置,那么将推断数据类型。name:序列是一个多行的结构,name是序列的名称。copy:复制数据,默认值是false。数据统计分析与Pandas1 Series对象及常用操作2查看Series值和标签通过Series的属性values和index可查看值和标签。print(查看Series对象的值:,m1.values)print(查看Series对象的标签:,m1.index)数据统计分析与Pandas1 Series对象及常用操作3.选择内部元素与赋值SeriesSeries索引的工作方式类似于索引的工作方式类似于NumPyNumPy数组的索引,数组的索引,但但Series

20、Series的索引值不的索引值不只是整数。只是整数。(1 1)选择单个元素选择单个元素看成普通的看成普通的NumPyNumPy数组,指定索引即可。如,数组,指定索引即可。如,m11m11获取元素是获取元素是-3-3。(2)(2)选择多个元素选择多个元素 切片切片“起始值起始值:终止值终止值:步长步长”来选择多个元素时来选择多个元素时,所指定的元素是不包含终止所指定的元素是不包含终止值位置的元素,如没有指定终止值,则终止值是包含值位置的元素,如没有指定终止值,则终止值是包含SeriesSeries最后索引的元素。最后索引的元素。(3)(3)给元素赋值给元素赋值数据统计分析与Pandas1 Ser

21、ies对象及常用操作4.统计Series对象的组成元素(1)统计元素重复出现的次数 unique()函数返回一个由函数返回一个由Series去重后的元素所组成的数组去重后的元素所组成的数组 value_counts()函数返回各个不同的元素,而且还能计算每个元素在函数返回各个不同的元素,而且还能计算每个元素在Series中中的出现次数。运行结果中左边是元素,右边是元素出现的次数的出现次数。运行结果中左边是元素,右边是元素出现的次数。(2)判断元素是否存在使用isin()函数可以判断给定的一列元素是否包含在Series数据结构中。在则返回True,否则返回Falseimport numpy as

22、 npm1=pd.Series(2,-3,4,5,2,4,2)print(对Series各个元素的值去重:,m1.unique()print(返回Series各个元素以及重复出现的次数:n,m1.value_counts()print(判断5是否在Series中间:n,m1.isin(5)数据统计分析与Pandas2 DataFrame对象及常用操作DataFrame是一个类似于二维数组或表格型的数据结构,既有行索引,又有列索引。行索引,表明不同行,横向索引,叫index,0轴,axis=0列索引,表名不同列,纵向索引,叫columns,1轴,axis=1数据统计分析与Pandas2 Data

23、Frame对象及常用操作1.创建DataFrame对象 使用使用DataFrameDataFrame构造函数构造函数:pandas.DataFrame(data=None,index=None,columns=None)data:为ndarray、list 或dict类型数据。index:行标签。如果没有传入参数,默认自动创建一个从0-N的整数索引。columns:列名列表列标签。如果没有传入参数,默认自动创建一个从0-N的整数索引。数据统计分析与Pandas2 DataFrame对象及常用操作通常情况下,我们使用pd.DataFrame函数来创建DataFrame,当然也可以根据需要使用pd

24、.DataFrame.from_dict函数来创建DataFrame。(1 1)使用字典来创建)使用字典来创建DataFrameDataFrameimport pandas as pddata=name:Tom,Jhon,Strong,Sea,Sun,birthyear:2000,2001,2002,2001,2002,height:150,170,165,185,175row_index=1,2,3,4,5col_names=birthyear,name,heightdf=pd.DataFrame(data,columns=col_names,index=row_index)print(df

25、)birthyear name height1 2000 Tom 1502 2001 Jhon 1703 2002 Strong 1654 2001 Sea 1855 2002 Sun 175数据统计分析与Pandas2 DataFrame对象及常用操作(2 2)使用列表(列表项是)使用列表(列表项是ListList)来创建)来创建DataFrameDataFrameimport pandas as pdstudents=jack,34,CAU,Tom,30,Tsinghua ,Aadi,16,PKU df=pd.DataFrame(students)print(df)import panda

26、s as pdstudents=(jack,34,CAU),(Tom,30,Tsinghua),(Aadi,16,PKU)df=pd.DataFrame(students)print(df)(3 3)使用列表(列表项是)使用列表(列表项是元组元组)来创建)来创建DataFrameDataFrame对象对象数据统计分析与Pandas2 DataFrame对象及常用操作(4)使用)使用from_dict创建创建DataFramepd.DataFrame.from_dict(data)中,中,data是一个字典结构,字典的是一个字典结构,字典的Key是是列名,列名,Value是一个列表,通过这种格式

27、创建是一个列表,通过这种格式创建DataFrame。import pandas as pddata=col_1:3,2,1,0,col_2:a,b,c,ddf=pd.DataFrame.from_dict(data)print(df)数据统计分析与Pandas2 DataFrame对象及常用操作2.DataFrame的属性DataFrame的属性主要是索引、数据类型、值和形状。(1)DataFrame的索引 通过通过indexindex属性来访问属性来访问DataFrameDataFrame的行标签,通过的行标签,通过columnscolumns属性访属性访问问DataFrameDataFra

28、me的列标签。的列标签。(2)数据类型:df.dtypes(3)DataFrame的值:df.values(4)DataFrame的轴和形状:df.axes和df.shape数据统计分析与Pandas2 DataFrame对象及常用操作2.DataFrame的属性DataFrame的属性主要是索引、数据类型、值和形状。(1)DataFrame的索引 通过通过indexindex属性来访问属性来访问DataFrameDataFrame的行标签,通过的行标签,通过columnscolumns属性访属性访问问DataFrameDataFrame的列标签。的列标签。(2)数据类型:df.dtypes(

29、3)DataFrame的值:df.values(4)DataFrame的轴和形状:df.axes和df.shape数据统计分析与Pandas2 DataFrame对象及常用操作3.列操作和行操作(1)追加列通过为一个新列赋值来向通过为一个新列赋值来向DataFrameDataFrame中追加新列,新列始终处于列名序中追加新列,新列始终处于列名序列的末尾:列的末尾:dfnew=a(2)插入列insert()insert()函数,该函数向函数,该函数向DataFrameDataFrame中插入一列,并制定新列的位置:中插入一列,并制定新列的位置:DataFrame.insert(self,loc,

30、column,value)loc:插入列的位置column:插入列的名称value:插入列的值数据统计分析与Pandas2 DataFrame对象及常用操作(3)删除列或行使用使用dropdrop函数来删除行或列:函数来删除行或列:DataFrame.drop(self,labels=None,axis=0,index=None,columns=None,level=None,inplace=False,errors=raise)labels 和 axis:labels参数指定要删除的标签,如果axis=0 或 index,表示行标签;如果axis=1 或 columns,表示列标签。axis

31、的默认值是0;index:设置index 等价于设置 labels 和axis=0;columns:设置columns等价于设置 labels和 axis=1。数据统计分析与Pandas2 DataFrame对象及常用操作(4)追加数据行DataFrame.append(self,other,ignore_index=False,verify_integrity=False,sort=None)就是把一个结构相同的DataFrame追加到另一个DataFrame的后面,把两个DataFrame合并为一个。数据统计分析与Pandas2 DataFrame对象及常用操作4.列数据类型转换dfcol

32、_name.astype(str)dfcol_name.astype(object)astype(dtype)函数用于把DataFrame的列转换为特定的类型,dtype可以是pandas支持的类型,也可以是NumPy.dtype,也可以是Python类型:数据分析基础与数据分析基础与NumPy 数据统计分析与数据统计分析与Pandas 数据可视化与数据可视化与Matplotlib 目录这里说明图片内容 数据可视化与Matplotlib数据可视化是以图形或图表的形式展示数据。数据可视化后,可以更加直观地帮助人们快速地理解数据,发现数据的关键点。数据可视化与Matplotlib1 常用的数据可视

33、化工具在 Python 中已经有很多数据可视化方面的第三方库:专门用于开发2D图表 提供多样化的输出格式 优点:使用起来极其简单;以渐进、交互式方式实现数据可视化;表达式和文本使用LaTeX排版;对图像元素控制力更强;可输出PNG、PDF、SVG和EPS等多种格式。Matplotlib 基于Matplotlib产生的一个模块,专攻于统计可视化,可以和Pandas进行无缝链接 相对于Matplotlib,Seaborn语法更简洁SeabornHoloViews 开源的Python库,可用非常少的代码行完成数据分析和可视化 适合于数据的交互式探索数据可视化与Matplotlib1 常用的数据可视化

34、工具在 Python 中已经有很多数据可视化方面的第三方库:它的API简单、友好、一致,并建立在强大的vega-lite(交互式图形语法)之上 Altair API不包含实际的可视化呈现代码,而是按照vega-lite规范发出JSON数据结构。由此产生的数据可以在用户界面中呈现Altair 提供了交互式的、公开的,高质量的图表集,可与R、Python、Matlab等软件对接。拥有在别的库中很难找到的几种图表类型,如等值线图,树形图和三维图表等,图标类型丰富,申请了API密钥后,可以一键将统计图形同步到云端。Plotly数据统计分析与Pandas2 Matplotlib绘图的基本流程1.创建简单

35、图表通过pip install matplotlib命令进行自动安装Matplotlib库后,用Matplotlib画图一般需要如下5个流程:绘图流程:导入模块、创建画布、制作图形、美化图片(添加各类标签和图例)、保存并显示图表。1)导入)导入matplotlib.pyplot模块。模块。import matplotlib.pyplot as plt数据统计分析与Pandas2 Matplotlib绘图的基本流程2)利用)利用figure函数创建画布。函数创建画布。由于由于Matplotlib的图像均位于绘图对象中,在绘图前,先要创建绘图对象。的图像均位于绘图对象中,在绘图前,先要创建绘图对象

36、。def figure(num=None,figsize=None,dpi=None,facecolor=None,edgecolor=None,frameon=True,FigureClass=Figure,clear=False,*kwargs)数据统计分析与Pandas2 Matplotlib绘图的基本流程3)绘制图表。)绘制图表。通过调用通过调用plot函数可实现在当前绘图对象中绘制图表函数可实现在当前绘图对象中绘制图表plt.plot(x,y,label,color,linewidth,linestyle)或 plt.plot(x,y,fmt,label)4)添加各类标签和图例)添加

37、各类标签和图例在调用在调用plot函数完成绘图后,还需要为图表添加各类标签和图例。函数完成绘图后,还需要为图表添加各类标签和图例。数据统计分析与Pandas2 Matplotlib绘图的基本流程pyplot中添加各类标签和图例的函数包括:1)plt.xlabel:指定x轴的名称,可以指定位置、颜色、字体大小等参数。2)plt.ylabel:指定y轴的名称,可以指定位置、颜色、字体大小等参数。3)plt.title:指定图表的标题,可以指定标题名称、位置、颜色、字体大小等参数。4)plt.xlim:指定图形x轴的范围,只能输入一个数值区间,不能使用字符串。5)plt.ylim:指定图形y轴的范围

38、,只能输入一个数值区间,不能使用字符串。6)plt.xticks:指定x轴刻度的数目与取值。7)plt.yticks:指定y轴刻度的数目与取值。8)plt.legend:指定当前图形的图例,可以指定图例的大小、位置和标签。数据统计分析与Pandas2 Matplotlib绘图的基本流程5)保存和显示图表)保存和显示图表plt.savefig:保存绘制的图表为图片,可以指定图表的分辨率、边缘和颜色等参数。plt.show:在本机显示图表。【例】利用【例】利用Matplotlib绘制折线图,展现北京一周的天气,比如从星期一到星期日的天气绘制折线图,展现北京一周的天气,比如从星期一到星期日的天气温度

39、:温度:8,7,8,9,11,7,5。#1.导入模块import matplotlib.pyplot as plt#2.创建画布plt.figure(figsize=(10,10),dpi=100)#3.绘制折线图plt.plot(1,2,3,4,5,6,7,8,7,8,9,11,7,5)#4.添加标签plt.xlabel(Week)plt.ylabel(Temperature)#5.显示图像plt.show()数据统计分析与Pandas2 Matplotlib绘图的基本流程2.创建子图创建子图在在Matplotlib中,可以将中,可以将个绘图对象分为几个绘图区域,在每个绘图区个绘图对象分为几

40、个绘图区域,在每个绘图区域中可以绘制不同的图像,这种绘图形式称为创建子图。创建子图可以使域中可以绘制不同的图像,这种绘图形式称为创建子图。创建子图可以使用用subplot()函数函数subplot(numRows,numCols,plotNum)numRows:表示将整个绘图区域等分为numRows行;numCols:表示将整个绘图区域等分为numCols列;plotNum:表示当前选中要操作的区域。数据统计分析与Pandas2 Matplotlib绘图的基本流程【例】创建【例】创建3个子图,分别绘制正弦函数、余弦函数和线性函数。个子图,分别绘制正弦函数、余弦函数和线性函数。#1.导入模块im

41、port matplotlib.pyplot as pltimport numpy as npx=np.linspace(0,10,80)y=np.sin(x)z=np.cos(x)k=x#第一行的左图plt.subplot(221)plt.plot(x,z,r-,label=$cos(x)$)#第一行的右图plt.subplot(222)plt.plot(x,y,label=$sin(x)$,color=blue,linewidth=2)#第二整行plt.subplot(212)plt.plot(x,k,g-,label=$x$)plt.legend()plt.savefig(image.p

42、ng,dpi=100)plt.show()数据统计分析与Pandas3 Matplotlib的基础绘图功能1完善原始折线图:给图形添加辅助功能(1)准备数据并画出初始折线图)准备数据并画出初始折线图y_hangzhou=random.uniform(15,18)for i in x(2)添加自定义)添加自定义x,y刻度刻度1)plt.xticks(x,*kwargs)x:要显示的刻度值2)plt.yticks(y,*kwargs)y:要显示的刻度值#构造x轴刻度标签x_ticks_label=11点分.format(i)for i in x#构造y轴刻度y_ticks=range(40)#修改

43、x,y轴坐标的刻度显示plt.xticks(x:5,x_ticks_label:5)plt.yticks(y_ticks:5)数据统计分析与Pandas3 Matplotlib的基础绘图功能(3 3)解决中文显示问题)解决中文显示问题在在PythonPython脚本中动态设置脚本中动态设置matplotlibrcmatplotlibrc,这样也可以避免由于更改配置,这样也可以避免由于更改配置文件而造成的麻烦文件而造成的麻烦from pylab import mpl#设置显示中文字体mpl.rcParamsfont.sans-serif=SimHei有时候字体更改后,会导致坐标轴中的部分字符无法

44、正常显示,此时需要更改axes.unicode_minus参数。#设置正常显示符号mpl.rcParamsaxes.unicode_minus=False(4)添加网格显示)添加网格显示plt.grid(True,linestyle=-,alpha=0.5)数据统计分析与Pandas3 Matplotlib的基础绘图功能(5 5)添加描述信息)添加描述信息添加添加x x轴、轴、y y轴描述信息及标题,通过轴描述信息及标题,通过fontsizefontsize参数修改图像中字体大小。参数修改图像中字体大小。plt.xlabel(时间)plt.ylabel(温度)plt.title(中午11点0分

45、到12点之间的温度变化图示,fontsize=20)(6)图像保存)图像保存plt.savefig(test.png)注意:plt.show()会释放figure资源,如果在显示图像之后保存图片将只能保存空图片。数据统计分析与Pandas4 Matplotlib的常见图形绘制1折线图折线图折线图(Line Chart)(Line Chart)是是种将数据点按照顺序连接起来的图形种将数据点按照顺序连接起来的图形。特点是特点是能够显示数据的变化趋势,反映事物的变化情况。能够显示数据的变化趋势,反映事物的变化情况。plt.plot(x,y)2散点图散点图是一种以一个变量为横坐标,以另散点图是一种以一

46、个变量为横坐标,以另个变量为纵坐标,利用坐标个变量为纵坐标,利用坐标点(散点)的分布形态反映变量间的统计关系的图形。特点是判断变量点(散点)的分布形态反映变量间的统计关系的图形。特点是判断变量之间是否存在数量关联趋势之间是否存在数量关联趋势,展示离群点展示离群点(分布规律分布规律)。plt.scatter(x,y)数据统计分析与Pandas4 Matplotlib的常见图形绘制3柱状图柱状图柱状图(Bar Ghart)(Bar Ghart)是是种以长方形的长度为变量的表达图形的统计报种以长方形的长度为变量的表达图形的统计报告图,是由一系列高度不等的纵向条纹表示数据分布的情况其特点是绘制告图,是

47、由一系列高度不等的纵向条纹表示数据分布的情况其特点是绘制连离散的数据连离散的数据,能够一眼看出各个数据的大小,比较数据之间的差别。能够一眼看出各个数据的大小,比较数据之间的差别。plt.bar(x,width,align=center,*kwargs)x:需要传递的数据;width:柱状图的宽度;align:每个柱状图的位置对齐方式:center,edge,optional,default:center。数据统计分析与Pandas4 Matplotlib的常见图形绘制4直方图直方图直方图是是种二维统计图表。它用一系列高度不等的纵向条纹或线段表种二维统计图表。它用一系列高度不等的纵向条纹或线段表

48、示数据分布的情况,示数据分布的情况,般用横轴表示数据所属类别,用纵轴表示数量或者般用横轴表示数据所属类别,用纵轴表示数量或者占比。特点是绘制连续性的数据展示一组或者多组数据的分布状况占比。特点是绘制连续性的数据展示一组或者多组数据的分布状况。matplotlib.pyplot.hist(x,bins=None)x:需要传递的数据;bins:组距。数据统计分析与Pandas4 Matplotlib的常见图形绘制5饼图饼图显示一个数据系列中各项的大小及其在各项总和中所占的比例,通饼图显示一个数据系列中各项的大小及其在各项总和中所占的比例,通过弧度大小来对比各种分类。过弧度大小来对比各种分类。plt

49、.pie(x,labels=,autopct=,colors)x:数量,自动算百分比;labels:每部分名称;autopct:占比显示指定%1.2f%;colors:每部分颜色。本章小结本章讲解了数据分析与可视化的基本概念等相关知识,介绍了Python数据分析的常用库及其应用,涵盖NumPy数值计算、pandas统计分析、Matplotlib数据可视化等内容。思考与练习1、NumPy的数组和Python的列表的主要区别是什么?2、NumPy中创建数组有那些常用的方法?3、pandas核心对象是什么?4、matplotlib如何显示多个图表?5、matplotlib如何设置x轴和y轴的文字的刻度?6、matplotlib如何设置线形和颜色?思考与练习7.绘制一个从0到360度完整的sin函数图形。8.绘制一个从0到360度完整的sin和cos函数的叠加图形。9.绘制一个从0到360度完整的sin和cos函数的叠加图形,并加上图例上以及x轴和y轴的说明。10.常用的直方图、条状图、饼图、散点图等,这些图分别应用在什么情况下,表达哪类信息比较恰当?

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(Python程序设计课件第15章数据分析与可视化基础.pptx)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|