网站大量收购独家精品文档,联系QQ:2885784924

《Python与数据分析应用》课件——第9章 科学计算库NumPy.pptxVIP

《Python与数据分析应用》课件——第9章 科学计算库NumPy.pptx

此“教育”领域文档为创作者个人分享资料,不作为权威性指导和指引,仅供参考
  1. 1、本文档共69页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多

;;;;;NumPy中最重要的一个特点就是其N维数组对象,即ndarray(别名array)对象,该对象可以执行一些科学计算。;ndarray对象中定义了一些重要的属性,见下表。;;;;;;大家可能注意到,有些数组元素的后面会跟着一个小数点,而有些元素后面没有,比如1和1.,产生这种现象,主要是因为元素的数据类型不同所导致的。;;ndarray.dtype可以创建一个表示数据类型的对象,如果希望获取数据类型的名称,则需要访问name属性进行获取。;NumPy的数据类型是由一个类型名和元素位长的数字组成。;;每一个NumPy内置的数据类型都有一个特征码,它能唯一标识一种数据类型。;ndarray对象的数据类型可以通过astype()方法进行转换。;;数组运算可以分为以下三种:;形状相等的数组之间的任何算术运算都会应用到元素级,即只用于位置相同的元素之间,所得的运算结果组成一个新的数组。;当形状不相等的数组执行算术计算的时候,就会出现广播机制,该机制会对数组进行扩展,使数组的shape属性值一样,这样就可以进行矢量化运算了。;;标量运算会产生一个与数组具有相同行和列的新矩阵,其原始矩阵的每个元素都被相加、相减、相乘或者相除。;;对于一维数组来说,从表面上来看,它使用索引和切片的方式,与Python列表的功能相差不大。;对于多维数组来说,索引和切片的使用方式与列表就大不一样了,比如二维数组的索引方式如下:;在二维数组中,每个索引位置上的元素不再是一个标量了,而是一个一维数组。;如果想获取二维数组的单个元素,则需要通过形如“arr[x,y]”的索引来实现,其中x表示行号,y表示列号。;多维数组的切片是沿着行或列的方向选取元素的,我们可以传入一个切片,也可以传入多个切片,还可以将切片与整数索引混合使用。;arr2d[0:2,0:2];花式索引是NumPy的一个术语,是指用整数数组或列表进行索引,然后再将数组或列表中的每个元素作为下标进行取值。;#创建一个二维数组

demo_arr=np.empty((4,4))

foriinrange(4):

demo_arr[i]=np.arange(i,i+4)

#获取索引为[0,2]的元素

demo_arr[[0,2]];#获取索引为(1,1)和(3,2)的元素

demo_arr[[1,3],[1,2]];布尔型索引指的是将一个布尔数组作为数组索引,返??的数据是布尔数组中True对应位置的值。;;数组的转置指的是将数组中的每个元素按照一定的规则进行位置变换。;简单的转置可以使用T属性,它其实就是进行轴对换而已。;当使用transpose()方法对数组的shape进行调换时,需要以元组的形式传入shape的编号,比如(1,0,2)。;如果我们不输入任何参数,直接调用transpose()方法,则其执行的效果就是将数组进行转置,作用等价于transpose(2,1,0)。;有时可能只需要转换其中的两个轴,这时可以使用swapaxes()方法实现,该方法需要接受一对轴编号,比如(1,0)。;高维数据执行某些操作(如转置)时,需要指定维度编号,这个编号是从0开始的,然后依次递增1。其中,位于纵向的轴(y轴)的编号为0,位于横向的轴(x轴)的编号为1,以此类推。;;通用函数(ufunc)是一种针对ndarray中的数据执行元素级运算的函数,函数返回的是一个新的数组。;常见的一元通用函数如下表:;;;;NumPy的where()函数是三元表达式xifconditionelsey的矢量化版本。;通过NumPy库中的相关方法,我们可以很方便地运用Python进行数组的统计汇总。;如果希望对NumPy数组中的元素进行排序,可以通过sort()方法实现。;如果希望对任何一个轴上的元素进行排序,则需要将轴的编号作为sort()方法的参数传入。;all()函数用于判断整个数组中的元素的值是否全部满足条件,如果满足条件返回True,否则返回False。;any()函数用于判断整个数组中的元素至少有一个满足条件就返回True,否则就返回False。;针对一维数组,NumPy提供了unique()函数来找出数组中的唯一值,并返回排序后的结果。;in1d()函数用于判断数组中的元素是否在另一个数组中存在,该函数返回的是一个布尔型的数组。;NumPy提供的有关集合的函数还有很多,常见的函数如下表所示。;;numpy.linalg模块中有一组标准的矩阵分解运算以及诸如逆和行列式之类的东西。;NumPy中提供了一个用于矩阵乘法的dot()方法。;矩阵点积的条件是矩阵A的列数等于矩阵B的行数,假设A为m*p的矩阵,B为p*n的矩阵,那么矩阵A与B的乘积就是一个m*n的

您可能关注的文档

文档评论(0)

青柠职教 + 关注
实名认证
服务提供商

从业10年,专注职业教育专业建设,实训室建设等。

1亿VIP精品文档

相关文档