版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第2章
科学计算包Numpy数组创建、数组尺寸与重排数组运算与数学函数数组切片、连接、存取、展平、排序与搜索Numpy简介第2章
Numpy是Python用于科学计算的基础包,也是大量Python数学和科学计算包的基础。Numpy的核心基础是ndarray(N-dimensionalarray,N维数组),即由数据类型相同的元素组成的N维数组。使用该包,需要按模块的形式导入,即:importnumpy,大多情况下是importnumpyasnp,即简称np。利用array()函数创建数组第2章。基于array()函数,可以将列表、元组、嵌套列表、嵌套元组等数据结构转化为数组d1=[1,2,3,4,0.1,7]#列表d2=(1,2,3,4,2.3)#元组d3=[[1,2,3,4],[5,6,7,8]]#嵌套列表,元素为列表d4=[(1,2,3,4),(5,6,7,8)]#嵌套列表,元素为元组d5=((1,2,3,4),(5,6,7,8))#嵌套元组importnumpyasnpd11=np.array(d1)d21=np.array(d2)d31=np.array(d3)d41=np.array(d4)d51=np.array(d5)deld1,d2,d3,d4,d5利用内置函数创建数组第2章importnumpyasnpz1=np.ones((3,3))#创建3行3列元素全为1的数组z2=np.zeros((3,4))#创建3行4列元素全为0的数组z3=np.arange(10)#创建默认初始值为0,默认步长为1,末值为9的一维数组z4=np.arange(2,10)#创建默认初始值为2,默认步长为1,末值为9的一维数组z5=np.arange(2,10,2)#创建默认初始值为2,步长为2,末值为9的一维数组数组尺寸与重排第2章d1=[1,2,3,4,0.1,7]#列表d3=[[1,2,3,4],[5,6,7,8]]#嵌套列表,元素为列表importnumpyasnpd11=np.array(d1)#将d1列表转换为一维数组,结果赋值给变量d11d31=np.array(d3)#将d3嵌套列表转换为二维数组,结果赋值给变量d31deld1,d3#删除d1,d3s11=d11.shape
#返回一维数组d11的尺寸,结果赋值给变量s11s31=d31.shape#返回二维数组d31的尺寸,结果赋值给变量s31r=np.array(range(9))#一维数组r1=r.reshape((3,3))#重排为3行3列第2章数组运算importnumpyasnpA=np.array([[1,2],[3,4]])#定义二维数组AB=np.array([[5,6],[7,8]])#定义二维数组BC1=A-B#A、B两个数组元素之间相减,结果赋给变量C1C2=A+B#A、B两个数组元素之间相加,结果赋给变量C2C3=A*B#A、B两个数组元素之间相乘,结果赋给变量C3C4=A/B#A、B两个数组元素之间相除,结果赋给变量C4C5=A/3#A数组所有元素除以3,结果赋给变量C5C6=1/A#1除以A数组所有元素,结果赋给变量C6C7=A**2#A数组所有元素取平方,结果赋给变量C7C8=np.array([1,2,3,3.1,4.5,6,7,8,9])#定义数组C8C9=(C8-min(C8))/(max(C8)-min(C8))#C8中的元素做极差化处理,结果赋给变量C9第2章数学函数D=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])#定义数组D#数学运算E1=np.sqrt(D)#数组D中所有元素取平方根,结果赋给变量E1E2=np.abs([1,-2,-100])#取绝对值E3=np.cos([1,2,3])#取cos值E4=np.sin(D)#取sin值E5=np.exp(D)#取指数函数值第2章常用组切片方法假设D为待访问或切片的数据变量,则访问或者切片的数据=D[①,②]。其中①为对D的行下标控制,②为对D的列下标控制。为了更灵活地操作数据,取所有的行或者列,可以用“:”来代替实现。同时,行控制还可以通过逻辑列表来实现。importnumpyasnpD=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])#定义数组DD12=D[1,2]#访问D中行为1,列为2的数据,注意下标是从0开始的。D1=D[:,[1,3]]#访问D中第1、3列数据D2=D[[1,3],:]#访问D中第1、3行数据Dt1=D[D[:,0]>5,:]#取D中满足第0列大于5的所有列数据,本质上行控制为逻辑列表TF=[True,False,False,True]#取D中第0、3行的所有列数据,本质上行控制为逻辑列表,取逻辑值为真的行Dt3=D[TF,:]第2章利用ix_()函数进行数组切片通过ix_()函数构造行、列下标索引器,实现数组的切片操作。importnumpyasnpD=np.array([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]])#定义数组DD3=D[np.ix_([1,2],[1,3])]#提取D中行数为1、2,列数为1、3的所有元素D4=D[np.ix_(np.arange(2),[1,3])]#提取D中行数为0、1,列数为1、3的所有元素D6=D[np.ix_(D[:,1]<11,[1,2])]#提取D中第1列小于11得到的逻辑数组作为行索引,列数为1、2的所有元素D7=D[np.ix_(D[:,1]<11,[2])]#提取D中第1列小于11得到的逻辑数组作为行索引,列数为2的所有元素TF=[True,False,False,True]D8=D[np.ix_(TF,[2])]#提取TF=[True,False,False,True]逻辑列表为行索引,列数为2的所有元素D9=D[np.ix_(TF,[1,3])]#提取TF=[True,False,False,True]逻辑列表为行索引,列数为1,,3的所有元素第2章数组连接importnumpyasnpA=np.array([[1,2],[3,4]])#定义二维数组AB=np.array([[5,6],[7,8]])#定义二维数组BC_s=np.hstack((A,B))#水平连接要求行数相同C_v=np.vstack((A,B))#垂直连接要求列数相同第2章数组存取importnumpyasnpA=np.array([[1,2],[3,4]])#定义二维数组AB=np.array([[5,6],[7,8]])#定义二维数组BC_s=np.hstack((A,B))#水平连接np.save('data',C_s)第2章数组存取importnumpyasnpC_s=np.load(‘data.npy’)
数组展平
前面介绍了reshape函数将一维数组形态变换为二维数组,事实上也可以将二维数组形态展平变换为一维数组,通过ravel()函数即可实现。importnumpyasnparr=np.arange(12).reshape(3,4)arr1=arr.ravel()第2章
数组排序
通过sort函数,可以对数组元素值按从小到大进行直接排序importnumpyasnparr=np.array([5,2,3,3,1,9,8,6,7])arr1=np.sort(arr)第2章
数组搜索
通过argmax和argmin函数,可以返回待搜索数组最大值和最小值元素的索引值,如果存在多个最大值或最小值,则返回第一次出现的索引。对于二维数组而已,可以通过设置axis=0或1返回各列或者各行最大值或最小值索引。需要注意的是,索引从0开
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年仓储调味品调料存储服务合同
- 2025年家用电器担保协议
- 2025年家电修理技能合作协议
- 2025年品牌推广策略合约
- 2025年代理商区块链技术协议
- 2025年农村房产过户协议
- 2025年环境资源赠与合同
- 工地电工2025年度劳动合同规范范本14篇
- 2024装修合同中的采购合同范本
- 2025版塑料回收利用项目投资合作合同范本3篇
- GB/T 44888-2024政务服务大厅智能化建设指南
- 2023-2024学年江西省萍乡市八年级(上)期末物理试卷
- 四则混合运算100道题四年级上册及答案
- 四川省高职单招电气技术类《电子基础》历年考试真题试题库(含答案)
- 中级半导体分立器件和集成电路装调工技能鉴定考试题库(含答案)
- 2024年江西生物科技职业学院单招职业技能测试题库带解析答案
- 桥本甲状腺炎-90天治疗方案
- (2024年)安全注射培训课件
- 2024版《建设工程开工、停工、复工安全管理台账表格(流程图、申请表、报审表、考核表、通知单等)》模版
- 部编版《道德与法治》六年级下册教材分析万永霞
- 酒店人防管理制度
评论
0/150
提交评论