Python之路——numpy各函数简介之生成数组函数(Array creation routines)
1、empty(shape[, dtype, order])
依据给定形状和类型(shape[, dtype, order])返回一个新的空数组。
参数:
shape : 整数或者整型元组
定义返回数组的形状;
dtype : 数据类型,可选
定义返回数组的类型。
order : {‘C’, ‘F’}, 可选
规定返回数组元素在内存的存储顺序:C(C语言)-row-major;F(Fortran)column-major。
>>> np.empty([2, 2]) array([[ -9.74499359e+001, 6.69583040e-309], [ 2.13182611e-314, 3.06959433e-309]]) #random >>> np.empty([2, 2], dtype=int) array([[-1073741821, -1067949133], [ 496041986, 19249760]]) #random
2、empty_like(a)
依据给定数组(a)的形状和类型返回一个新的空数组。
参数:
a:数组
其形状和类型用来规定返回函数的形状和类型。
返回值:
输出:ndarray
与数组a形状和类型一样的数组。
>>> a = np.array([[1., 2., 3.],[4.,5.,6.]]) >>> np.empty_like(a) array([[ -2.00000715e+000, 1.48219694e-323, -2.00000572e+000], #random [ 4.38791518e-305, -2.00000715e+000, 4.17269252e-309]])
3、eye(N[, M, k, dtype])
返回一个对角线元素为1,其他元素为0的二维数组。
参数:
N : 整数
返回数组的行数;
M : 整数,可选
返回数组的列数。如果不赋值的话,默认等于N;
k : 整数, 可选
对角线序列号: 0 对应主对角线;,整数对应upper diagonal,负数对应lower diagonal;
dtype : dtype, 可选
返回数组的数据类型
返回值:
I : ndarray (N,M)
该数组第k个对角线的元素为1,其他元素为0。
>>> np.eye(2, dtype=int) array([[1, 0], [0, 1]]) >>> np.eye(3, k=1) array([[ 0., 1., 0.], [ 0., 0., 1.], [ 0., 0., 0.]])
4、identity(n[, dtype])
返回一个N维单位方阵。
参数:
n : 整数
返回方阵的行列数;
dtype : 数据类型,可选
返回方阵的数据类型,默认为float.
返回值:
输出: ndarray
n x n 单位方阵。
>>> np.identity(3) array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]])
5、ones(shape[, dtype, order])
依据给定形状和类型(shape[, dtype, order])返回一个新的元素全部为1的数组。
参数设置请参考zeros。
>>> np.ones(5) array([ 1., 1., 1., 1., 1.]) >>> np.ones((5,), dtype=np.int) array([1, 1, 1, 1, 1]) >>> np.ones((2, 1)) array([[ 1.], [ 1.]]) >>> s = (2,2) >>> np.ones(s) array([[ 1., 1.], [ 1., 1.]])
6、ones_like()
依据给定数组(a)的形状和类型返回一个新的元素全部为1的数组。
等同于a.copy().fill(1),具体使用请参考zeros_like的文档。
>>> a = np.array([[1, 2, 3], [4, 5, 6]]) >>> np.ones_like(a) array([[1, 1, 1], [1, 1, 1]])
7、zeros(shape[, dtype, order])
依据给定形状和类型(shape[, dtype, order])返回一个新的元素全部为0的数组。
参数:
shape:int或者ints元组;
定义返回数组的形状,形如:(2, 3)或2。
dtype:数据类型,可选。
返回数组的数据类型,例如:numpy.int8、默认为numpy.float64。
order:{‘C’, ‘F’},可选,返回数组为多维时,元素在内存的排列方式是按C语言还是Fortran语言顺序(row- or columnwise)。
输出:ndarray
给定形状,数据类型的数组。
>>> np.zeros(5) array([ 0., 0., 0., 0., 0.]) >>> np.zeros((5,), dtype=numpy.int) array([0, 0, 0, 0, 0]) >>> np.zeros((2, 1)) array([[ 0.], [ 0.]]) >>> s = (2,2) >>> np.zeros(s) array([[ 0., 0.], [ 0., 0.]]) >>> np.zeros((2,), dtype=[(’x’, ’i4’), (’y’, ’i4’)]) # custom dtype array([(0, 0), (0, 0)], dtype=[(’x’, ’<i4’), (’y’, ’<i4’)])
8、zeros_like(a)
依据给定数组(a)的形状和类型返回一个新的元素全部为1的数组。
等同于a.copy().fill(0)。
参数:
a : array_like
输出:ndarray
与a数组形状类型一致的0数组。
>>> x = np.arange(6) >>> x = x.reshape((2, 3)) >>> x array([[0, 1, 2], [3, 4, 5]]) >>> np.zeros_like(x) array([[0, 0, 0], [0, 0, 0]]) >>> y = np.arange(3, dtype=np.float) >>> y array([ 0., 1., 2.]) >>> np.zeros_like(y) array([ 0., 0., 0.])
待编辑………………………………