第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx

上传人:b****9 文档编号:58574 上传时间:2022-10-01 格式:PPTX 页数:57 大小:262.28KB
下载 相关 举报
第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx_第1页
第1页 / 共57页
第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx_第2页
第2页 / 共57页
第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx_第3页
第3页 / 共57页
第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx_第4页
第4页 / 共57页
第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx_第5页
第5页 / 共57页
点击查看更多>>
下载资源
资源描述

第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx

《第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx》由会员分享,可在线阅读,更多相关《第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx(57页珍藏版)》请在冰豆网上搜索。

第一章 12.1NumPy简介12.2Pandas简介12.3数据分析应用.pptx

1.NumPy简介2.Pandas简介3.数据分析应用1Python程序设计(111100)第十二章Python在数据分析中的应用数据分析2Python程序设计(111100)数据准备(读写各种各样的文件格式和数据库)数据处理(对数据进行清洗、修整、整合等处理以便进行分析)数据分析(根据分析目的对数据集做合适的数学和统计运算)数据可视化(展示数据分析成果)NumPy简介3Python程序设计(111100)Numpy(NumericalPython的简称)是Python科学计算的基础包,是一个定义了数值数组和它们的基本运算的语言扩展。

NumPy的安装4Python程序设计(111100)首先请确定你的Python是32bit还是64bit,确定的方法如下:

1.顺序选取Windows的开始菜单“所有程序”“Python3.6”IDLE(Python3.664bit)或者IDLE(Python3.632bit)或者使用如下语句测试:

importplatformplatform.architecture()(64bit,WindowsPE)如果是32bit,请到http:

/www.lfd.uci.edu/gohlke/pythonlibs/下载文件numpy1.13.0+mklcp36cp36mwin32.whl如果是64bit,则到同一网站下载文件numpy1.13.0+mklcp36cp36mwin_amd64.whlNumPy的安装在DOS命令行中将当前目录转换为Python目录下的scripts子目录,然后使用pip安装Numpy,具体如下(以Python64bit为例):

如果此时numpy-1.13.0+mkl-cp36-cp36m-win_amd64.whl不在当前的目录下,则必须给出其绝对路径5Python程序设计(111100)Numpy的数据结构ndarray6Python程序设计(111100)ndarray是一种多维数组对象,其中所有的元素必须是相同类型的。

importnumpyasnp#随后代码示例皆默认已导入numpy库data1=1,2,3,4,5,6,7,8arr1=np.array(data1)arr1array(1,2,3,4,5,6,7,8)#返回一个表示各维度大小的元组#返回一个用于说明数组数据类型的对象arr1.shape(2,4)arr1.dtypedtype(int32)Numpy数组和标量值间的运算7Python程序设计(111100)数组很重要,因为可以不用编写循环即可对数据执行批运量算。

大小相等的数组之间的任何算数运算都会将运算应用到元素级。

arr=np.array(1,2,3,4,5,6)arr*arrarray(1,4,9,16,25,36)arr-arrarray(0,0,0,0,0,0)1/arrarray(1.,0.5,0.33333333,0.25,0.2,0.16666667)Numpy基本的索引8Python程序设计(111100)布尔索引names=np.array(Bob,Joe,Will,Bob,Joe)data=np.random.randn(5,4)#生成正态分布的随机数据dataarray(0.06577781,-0.33904047,0.32801625,-0.4534386,-0.57919606,-1.19820161,0.16266142,0.29625658,-0.78579447,0.14912636,1.03945375,-0.23016623,-2.71780916,-0.48087538,-0.3988084,-0.3054676,-0.91710932,-0.47175947,-2.19321508,-0.53418279)假设每个名字都对应data数组中的一行,而我们想要选出对于应名字”Bob”的所有行Numpy基本的索引9Python程序设计(111100)跟算术运算一样,数组的比较运算(如=)也是矢量化的names=Bob#对names和Bob比较运算将会产生一个布#尔型数组array(True,False,False,True,False,dtype=bool)datanames=Bob#布尔型数组可用于数组索引array(0.06577781,-0.33904047,0.32801625,-0.4534386,-2.71780916,-0.48087538,-0.3988084,-0.3054676)布尔型数组的长度必须和被索引的轴长度一致(此处为5)Numpy基本的索引10Python程序设计(111100)花式索引(Fancyindexing)是一个Numpy术语,它指的是利用整数数组进行索引。

假设我们有一个5*4数组:

arr=np.empty(5,4)#创建一个5*4的没有任何具体值#的数组foriinrange(5):

arri=iarrarray(0.,0.,0.,0.,1.,1.,1.,1.,2.,2.,2.,2.,3.,3.,3.,3.,4.,4.,4.,4.)Numpy基本的索引11Python程序设计(111100)为了以特定顺序选取子集,只需传入指定顺序的整数列表或ndarray即可:

arr4,3,0array(4.,4.,4.,4.,3.,3.,3.,3.,0.,0.,0.,0.)需要注意的是,花式索引总是将数据复制到新的数组中,原数组保持不变。

Numpy通用函数12Python程序设计(111100)通用函数(即ufunc)是一种对ndarray中的数据执行元素级运算的函数。

arr=np.arange(10)arrarray(0,1,2,3,4,5,6,7,8,9)np.sqrt(arr)array(0.,1.,1.41421356,1.73205081,2.,2.23606798,2.44948974,2.64575131,2.82842712,3.)其中sqrt是一元(unary)ufunc。

Numpy通用函数13Python程序设计(111100)另外一些(如add或maximum)接受2个数组(因此也叫二元(binary)ufunc),并返回一个结果数组:

x=np.random.randn(8)#生成一个包含8个随机浮点数#的一维数组y=np.random.randn(8)Numpy通用函数14Python程序设计(111100)xarray(1.37810951,0.84643835,0.91996356,0.20437262,1.460486,0.21984669,1.72858396,0.53766818)yarray(-1.46021875,-0.28856923,-2.42218969,1.86268091,-0.64028001,1.63904199,-2.81964605,-0.34841254)np.maximum(x,y)#最小值计算array(1.37810951,0.84643835,0.91996356,1.86268091,1.460486,1.63904199,1.72858396,0.53766818)Numpy通用函数15Python程序设计(111100)表1.一元ufunc函数说明abs计算整数、浮点数或复数的绝对值exp计算各元素的指数exceil计算各元素的ceiling值,即大于等于该值的最小整数floor计算各元素的floor值,即小于等于该值的最大整数cos、sin、sinh、cosh普通型和双曲型三角函数arccos、arcsin反三角函数Numpy通用函数16Python程序设计(111100)表2.二元ufunc函数说明add将数组中对应的元素相加multiply数组元素相乘divide、floor_divide除法或向下圆整除法(丢弃余数)Numpy利用数组进行数据处理Numpy数组使你可以将许多数据处理任务表述为简洁的数组表达式。

使用数组表达式代替循环的做法,通常称为矢量化。

矢量化数组运算通常要比等价的纯Python方式快上一两个数量级(甚至更多)。

假设我们要在一组值(网格型)上计算函数。

np.meshgrid函数接受两个一维数组,并产生两个二维矩阵(对应于两个数组中所有的(x,y)对):

17Python程序设计(111100)Numpy利用数组进行数据处理18Python程序设计(111100)#从-5到5按步长0.01产生一个包含1000个元素的一维数组points=np.arange(-5,5,0.01)#xs、ys分别存储了(x,y)对在x轴和y轴上的坐标xs,ys=np.meshgrid(points,points)xsarray(-5.,-4.99,-4.98,.,4.97,4.98,4.99,-5.,-4.99,-4.98,.,4.97,4.98,4.99,.,-5.,-4.99,-4.98,.,4.97,4.98,4.99)Numpy利用数组进行数据处理19Python程序设计(111100)把这两个数组当做两个浮点数那样编写表达式即可:

z=np.sqrt(xs*2+ys*2)zarray(7.07106781,7.06400028,7.05693985,.,7.04988652,7.05693985,7.06400028,.,7.06400028,7.05692568,7.04985815,.,7.04279774,7.04985815,7.05692568)Numpy利用数组进行数据处理函数值(一个二维数组)的图形化结果如上图所示,这张图是用matplotlib的imshow函数创建的。

importmatplotlib.pyplotaspltplt.imshow(z,cmap=plt.cm.gray)plt.colorbar()plt.show()20Python程序设计(111100)1.NumPy简介2.Pandas简介3.数据分析应用21Python程序设计(111100)第十二章Python在数据分析中的应用pandas简介22Python程序设计(111100)pandas提供了使我们能够快速便捷地处理结构化数据的数据结构和函数,其兼具NumPy高性能的数组计算功能以及电子表格和关系型数据库(如SQL)灵活的数据处理功能。

它提供了复杂精细的索引功能,以便更为便捷地完成重塑、切片和切块、聚合以及选取数据子集等操作。

pandas安装pandas与前面介绍的Numpy的下载与安装的方式类似:

到http:

/www.lfd.uci.edu/gohlke/pythonlibs/下载文件0.p2a0n.2dacsp36cp36mwin32.whl或者pandas0.20.2cp36cp36mwin_amd64.whl然后在DOS命令行中将当前目录转换为Python目录下的scripts子目录,然后使用pip安装pandas,具体如下(以Python64bit为例):

23Python程序设计(111100)pandas的数据结构DataFrame24Python程序设计(111100)DataFrame是一个表格型的数据结构,它含有一组有序的列,每列可以是不同的值类型。

DataFrame既有行索引也有列索引。

构建DataFrame的办法有很多,最常用的一种是直接传入一个由等长列表组成的字典:

pandas的数据结构DataFrame25Python程序设计(111100)importpandasaspd#随后代码示例皆默认已导入pandas库data=state:

Ohio,Ohio,Ohio,Nevada,Nevada,year:

2000,2001,2002,2001,2002,pop:

1.5,1.7,3.6,2.4,2.9frame1=pd.DataFra

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

当前位置:首页 > IT计算机 > 电脑基础知识

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1