numpy的基本操作(一)——创建
numpy的基本创建操作
1、np.empty([a, b]) empty方法可以在无需初始化的情况下创建认为是空的a行b列数组。但是事实上,empty创建的数组中的值是随机的。
2、np.eye(n, m, k=k) eye方法可以创建形状为n列m行的,只在对角线上为1,其余位置为0的数组。k表示对角线从主对角线的偏移,k为正表示向右(列索引的正方向)偏移。
类似的,np.indentity(n) 表示创建一个n×n的方阵,主对角线上为1,其余位置为0。
3、np.ones([a, b]) / np.zeros([a, b]) ones/zeros方法可以创建全为1/0的a行b列数组。
4、np.full([a, b], v) full方法可以创建值全为v的a行b列数组。
5、np.array([a, b, c]) array方法可以直接创建内容为[a, b, c]的数组。
6、np.arrange(start, stop, step) arrange方法创建以start开始,stop结束(不包括),步长为step的顺序数组。
7、np.linspace(start, stop, num=50, endpoint=true) linspace方法创建以start开始,stop结束,等间隔的num个点,endpoint=true/false代表是否包括结束点。
8、np.logspace(start, stop, num=50, endpoint=true, base=10) logspace方法创建以start开始,stop结束,等对数(如10,100,1000)间隔的num个点,endpoint=true/false代表
是否包括结束点,base表示对数的底数。
可以看到,等对数间隔的含义是,对于x=log y,x为参数操作的对象(如start=2,2=log y,y=100),y为输出,等间隔是针对x而言。
9、np.geomspace(start, stop, num=50, endpoint=true) geomspace方法创建以start开始,stop结束,等级数(如10,100,1000)间隔的num个点,endpoint=true/false代表是否包括结束点。
等级数间隔的含义与等对数间隔的含义对应,对于x=log y,y为参数操作的对象(如start=1,0=log 1,y=1),y为输出,等间隔是针对x而言。两个方法的不同点在于参数设置的对象为x还是y。
10、np.meshgrid(xi, yi, indexing='xy') meshgrid方法按传入的坐标向量返回坐标矩阵,xi和yi分别是m和n长的向量,indexing表示返回矩阵的索引方式,‘xy’表示返回m列n行矩阵,
‘ij'表示返回m行n列矩阵。
11、np.mgrid[a:b:cj, d:e:f] mgrid方法生成多维的等间距的坐标矩阵。(a,b)和(d,e)表示两个轴的坐标向量的首尾,cj表示(a,b)之间等间隔取c个点,f表示(d,e)之间从d开始每f间距取一个点。
若输入的维数为p,第一维输入长度为m,第二维输入长度为n,返回的数组的结构为(p, m, n),即每个维度的坐标矩阵为m列n行。
12、np.ogrid[a:b:cj, d:e:f] ogrid方法生成多维的坐标向量。参数含义与mgrid方法相同,但是返回值为长度为p的list列表,按输入顺序排序坐标向量。
13、np.diagflat(x, k=0) diagflat方法根据输入的数组x,创建以x为对角线的矩阵,k表示偏移量,向右(列索引的正方向)为正。
14、np.tri(m, n, k=0) tri方法创建m行n列的对角线及其下方全为1的矩阵,k表示偏移量。
此外,np.tril(a, k=0)表示获取矩阵的下三角阵,np.triu(a, k=0)表示获取矩阵的上三角阵,k表示偏移量。
15、np.mat(a) mat方法创建按输入数组a的矩阵。array创建的数组之间的相乘是对应相乘,mat创建的矩阵之间的相乘是矩阵相乘,维数不对应会报错。对array数组进行.t的转置操作后
其类型也转换为了矩阵。
参考:numpy中文文档:
numpy英文文档: