array数组
生成array数组
将list转化为array数组
import numpy as np
np.array([1,2],type=np.int32)
其中dtype定义的是元素类型,np.int32指32位的整形
如果直接定义dtype=int 默认的是32位整形。
zeors
和ones
方法
zeros()
方法,该方法和ones()
类似,都是通过指定大小生成矩阵,顾名思义zeors生成全0而ones生成全1,需要注意的是定义的矩阵形状参数是一个元组,而不能分开输入,如下图中(1,3)表生成1行3列的矩阵。
arange()
方法
arange()
方法类似于列表推导式。在该方法中可以输入三个参数,分别是起始值,终止值,步长。也可以输入一个值,此时起始值默认为0,步长默认为1
linspace
方法
linspace
方法,该方法和arange
方法类似,区别是一个是arange
定义步长而linspace
定义取的点个数,该方法定义在指定区域中每隔一个平均长度取一个点。包含截至点。
random
方法
random
方法,该方法在根据指定形状随机生成0到1之间的数。
常用方法
1查询数组维度
.ndim
返回数组维度
2查询数组形状
.shape
返回形状,例如(1,1)表示该数组有1行1列
3查询大小
.size
返回元素个数
4查询元素类型
.dtype
改变数组形状reshape
.reshape()
可以将数组调整为指定形状,不过前提是改变前形状和改变后形状元素个数一致,否则会报错
寻找元素和求和
numpy.max(array)
找到array数组中最大元素
numpy.min(array)
找到array数组中最小元素
numpy.sum(array)
对array数组求和
上述三个方法中。默认对整个数组查找或执行。同时也可以指定维度。添加参数axis=1
表示对列操作,同理axis=0
表示对行操作。
寻找最大最小元素位置
numpy.argmax(array)
返回array数组中最大值位置
numpy.argmin(array)
放回array数组中最小值位置
上述两个方法缺点是该位置是将array转化为1维数组后位置,如果查询多维数组需要一些转化
常用于越界处理的clip方法
np.clip()
该方法有三个参数,分别是指定的数组,下界,上界。该方法作用是处理越界,例如如果某函数越了上界就将该元素修改为上界。如果有元越了下界,就修改了下界。
矩阵装置
.T
和.transpose
均是装置
扩展维度
使用np.newaxis
数组计算
比较元素
两个矩阵可以直接比较,放回一个相同形状元素,如果两个矩阵同一位置满足条件新矩阵为True否则为False。利用该方法可以放回指定元素。例如
运算和矩阵相乘
np.dot(a,b)
是a和b矩阵相乘。该方法执行的是线性代数的矩阵相乘。
而直接使用*
+
-
**
分别是两个矩阵对应位置元素相乘、相加、相减、指数运算
拷贝
这里的拷贝和列表相差无几。分为浅拷贝和深拷贝。
浅拷贝是将元素复制,如果元素是一个数组直接复制地址。使用方法view
深拷贝会将子数组也复制。使用方法copy