python之numpy模块的基本使用一、numpy概述NumPy(NumericalPython的简称)是高性能科学和数据分析的基础包。numpy模块提供了Python对N维数组对象的支持:ndarray,ndarray数组中的元素须为同一数据类型,这一点与python的列表是不一样的。numpy支持高级大量的维度数组与矩阵运算,此外也针对数组运算提供大量的数学函数库。其主要功能如下。二、创建ndarray数组代码示例:#-*-coding:utf-8-*-importnumpy;print'使用列表生成一维数组'data=[1,2,3,4,5,6]x=(data)printx#打印数组print#打印数组元素的类型print'使用列表生成二维数组'data=[[1,2],[3,4],[5,6]]x=(data)printx#打印数组print#打印数组的维度print#打印数组各个维度的长度。shape是一个元组print'使用zero/ones/empty创建数组:根据shape来创建'x=(6)#创建一维长度为6的,元素都是0一维数组printxx=((2,3))#创建一维长度为2,二维长度为3的二维0数组printxx=((2,3))#创建一维长度为2,二维长度为3的二维1数组printxx=((3,3))#创建一维长度为2,二维长度为3,未初始化的二维数组printxprint'使用arrange生成连续元素'print(6)#[0,1,2,3,4,5,]开区间print(0,6,2)#[0,2,4]三、指定ndarray数组元素的类型NumPy数据类型:代码示例:print'生成指定元素类型的数组:设置dtype属性'x=([1,,3],dtype=)printx#元素类型为int64printx=([1,2,3],dtype=)printx#元素类型为float64printprint'使用astype复制数组,并转换类型'x=([1,,3],dtype=)y=()printy#[123]printx#[.]z=()printz#[.]print'将字符串元素转换为数值元素'x=(['1','2','3'],dtype=)y=()printx#['1''2''3']printy#[123]若转换失败会抛出异常print'使用其它数组的数据类型作为参数'x=([1.,,3.],dtype=);y=(3,dtype=);printy#[012]print()#[.]四、ndarray数组与标量/数组的运算运算规则:数组与标量的算术/逻辑运算会转换为各个元素与标量的算术/逻辑运算,数组与数组的算术/逻辑运算会转换为两个数组对应的各个元素的算术/逻辑运算。代码示例:print'ndarray数组与标量/数组的运算'x=([1,2,3])printx*2#[246]printx>2#[FalseFalseTrue]y=([3,4,5])printx+y#[468]printx>y#[FalseFalseFalse]五、ndarray数组的基本索引和切片代码示例:print'ndarray的基本索引'x=([[1,2],[3,4],[5,6]])printx[0]#[1,2]printx[0][1]#2,普通python数组的索引printx[0,1]#同x[0][1],ndarray数组的索引x=([[[1,2],[3,4]],[[5,6],[7,8]]])printx[0]#[[12],[34]]y=x[0].copy()#生成一个副本z=x[0]#未生成一个副本printy#[[12],[34]]printy[0,0]#1y[0,0]=0z[0,0]=-1printy#[[02],[34]]printx[0]#[[-12],[34]]printz#[[-12],[34]]print'ndarray的切片'x=([1,2,3,4,5])printx[1:3]#[2,3]右边开区间printx[:3]#[1,2,3]左边默认为0printx[1:]#[2,3,4,5]右边默认为元素个数printx[0:4:2]#[1,3]下标递增2x=([[1,2],[3,4],[5,6]])printx[:2]#[[12],[34]]printx[:2,:1]#[[1],[3]]x[:2,:1]=0#用标量赋值printx#[[0,2],[0,4],[5,6]]x[:2,:1]=[[8],[6]]#用数组赋值printx#[[8,2],[6,4],[5,6]]六、ndarray数组的布尔型索引和花式索引布尔型索引:使用布尔数组作为索引。布尔型索引代码示例:print'ndarray的布尔型索引'x=([3,2
2020年python之numpy模块的基本使用 来自淘豆网m.daumloan.com转载请标明出处.