一、数组创建
1、创建二维数组 array()、数组行数 shape[0]、数组列数 shape[1]
>>> a = np.array([[1,2], [3, 4], [5,6], [7,8]])
>>> a
array([[1, 2],
[3, 4],
[5, 6],
[7, 8]])
>>> a.shape[0] 4 >>> a.shape[1] 2 >>> a.shape (4, 2)
2、numpy.empty(shape, dtype=float, order=’C’)
参数:
- shape:int或int类型元组,表示矩阵形状
- dtype:输出的数据类型
- order:‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:
生成随机矩阵
>>> import numpy as np >>> np.empty([3,3]) array([[8.82769181e+025, 7.36662981e+228, 7.54894003e+252], [2.95479883e+137, 1.42800637e+248, 2.64686750e+180], [2.25567100e+137, 9.16208010e-072, 0.00000000e+000]]) >>> np.empty([2,2], dtype = int) array([[538970739, 757932064], [757935405, 757935405]])
3、numpy.eye(N, M=None, k=0, dtype=float)
参数:
- N:行数
- M:列数,省略代表M=N
- k:对角线位置, = 0 代表主对角线, +1就向右上方偏移1, -1 就向左下角偏移1
- dtype:输出的数据类型,默认为float类型
返回值:
对角矩阵(主对角线上元素都为1,其他元素都为0)——对角线向右上方偏移k(k>0向右上方偏移,k<0向左下方偏移)
>>> b = np.eye(2, 3, dtype = int) >>> b array([[1, 0, 0], [0, 1, 0]]) >>> c = np.eye(3, k = 1 ,dtype = int) >>> c array([[0, 1, 0], [0, 0, 1], [0, 0, 0]])
4、numpy.identity(n, dtype=None)
参数:
- n:行数(也是列数)
- dtype:输出的数据类型
返回值:
n*n对角矩阵(主对角线上元素都为1,其他元素都为0)
>>> np.identity(3) array([[1., 0., 0.], [0., 1., 0.], [0., 0., 1.]])
5、numpy.ones(shape, dtype=None, order=’C’)
参数:
- shape:int或int类型序列,表示矩阵形状
- dtype:输出的数据类型
- order:‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:
给定要求下的单位矩阵
>>> a = np.ones((3,3), dtype = int) >>> a array([[1, 1, 1], [1, 1, 1], [1, 1, 1]])
6、numpy.zeros(shape, dtype=float, order=’C’)
参数:
- shape:int或int类型序列,表示矩阵形状
- dtype:输出的数据类型
- order:‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:
给定要求下的0矩阵
>>> a = np.zeros((3,3), dtype = int) >>> a array([[0, 0, 0], [0, 0, 0], [0, 0, 0]])
6、numpy.tile(A, (y, x))
参数:
- A:要操作的数组
- (y, x):把数组A沿y轴复制y倍,再沿x轴复制x倍
返回值:
给定要求下的矩阵
>>> a = np.array([0,1,2]) >>> np.tile(a, (2, 3)) array([[0, 1, 2, 0, 1, 2, 0, 1, 2], [0, 1, 2, 0, 1, 2, 0, 1, 2]])