使用numpy的routines函数创建
①numpy.ones(shape, dtype=None, order='C')
参数:shape->int或int类型序列,表示矩阵形状, dtype->输出的数据类型, order->'C'或者'F',表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:给定要求下的单位矩阵
①+numpy.ones_like(a, dtype=None, order=’K’, subok=True)
参数:a->返回值仿照的矩阵, dtype->输出的数据类型, order->‘C’ 、 ‘F’、 ‘A’、 ‘K’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主,‘A’表示以列为主存储,如果a是列相邻的,‘K’表示尽可能与a的存储方式相同, subok->bool类型True:使用a的内部数据类型,False:使用a数组的数据类型
返回值:生成与a相似(形状、数据类型)的单位矩阵
>>> x = np.arange(6) >>> x = x.reshape((2, 3)) >>> x array([[0, 1, 2], [3, 4, 5]]) >>> np.ones_like(x) array([[1, 1, 1], [1, 1, 1]]) >>> y = np.arange(3, dtype=np.float) >>> y array([ 0., 1., 2.]) >>> np.ones_like(y) array([ 1., 1., 1.])
②numpy.zeros(shape, dtype=float, order='C')
参数:shape->int或int类型序列,表示矩阵形状, dtype->输出数据类型, order->‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:给定要求下的0矩阵
zeros = numpy.zeros((2,2)) ''' 元素都为零的多维数组 array([[ 0., 0.], [ 0., 0.]]) '''
②+numpy.zeros_like(a, dtype=None, order=’K’, subok=True)
参数:a->返回值仿照的矩阵, dtype->输出的数据类型, order->‘C’ 、 ‘F’、 ‘A’、 ‘K’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主,‘A’表示以列为主存储,如果a是列相邻的,‘K’表示尽可能与a的存储方式相同, subok->bool类型,True:使用a的内部数据类型,False:使用a数组的数据类型
返回值:生成与a相似(形状/数据类型)的零矩阵
>>> 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.])
③numpy.full(shape, fill_value, dtype=None, order='C')
参数:shape->int或int类型序列,表示矩阵形状, fill_value:填充值, dtype->输出的数据类型, order->‘C’ 或者 ‘F’,表示数组在内存的存放次序是以行(C)为主还是以列(F)为主
返回值:给定要求的填充矩阵
nd = numpy.full((2,2), fill_value=1111) ''' 元素都为fill_value的多维数组 array([[1111, 1111], [1111, 1111]]) '''
④numpy.reshape()函数
reshape()函数作用:根据原来的数组生成一个新的数组,可以通过传入一个shape参数来改变新生成的数组的形状,要求新生成的数组的元素的总个数要和原来的保持一致
nd = numpy.full((12), fill_value=9) # array([9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9, 9]) numpy.reshape((3,4)) ''' array([[9, 9, 9, 9], [9, 9, 9, 9], [9, 9, 9, 9]]) '''
⑤numpy.eye(N, M=None, k=0, dtype=float)
参数:N->行数, M->列数, k->对角线偏移, dtype->输出的数据类型
返回值:对角矩阵(主对角线上元素都为1,其他元素都为0)--对角线向右上方偏移k(k>0向右上方偏移,k<0向左下方偏移)
# 生成单位矩阵 nd = np.eye(3) ''' array([[ 1., 0., 0.], [ 0., 1., 0.], [ 0., 0., 1.]]) '''
⑥numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
作用:在指定的间隔内返回均匀间隔的数字
⑦numpy.logspace(start, stop, num=50, endpoint=True, base=10.0, dtype=None)
作用:生成等比数列
⑧numpy.arange([start, ]stop, [step, ]dtype=None)
作用:生成等差数列
参数:其中start,step,dtype可以省略,分别是起始点、步长、和返回类型。
⑨np.random.random(size=None)
作用:生成0-1的随机实数