import numpy as np a=np.array([1,2,3]) #1.产生行向量的方法 row_vector1=a.reshape(1,-1) row_vector2=np.array([[1,2,3]]) row_vector3=np.expand_dims(a,0) print(row_vector1.shape,row_vector2.shape,row_vector3.shape)#(1, 3) (1, 3) #2.产生列向量的方法 col_vector1=a.reshape(-1,1) col_vector2=np.array( [[1], [2], [3],] ) col_vector3=row_vector1.T#向量转置 col_vector4=np.expand_dims(a,axis=1) print(col_vector1.shape,col_vector2.shape,col_vector3.shape,col_vector4.shape)#(3, 1) (3, 1) (3, 1) ''' 需要注意的是: a=np.array([1,2,3])既不是行向量也不是列向量,它只是一个维度为(3,)的向量 NG说过,写的时候最好别用这个,容易一不小心就写错了,要么写成(n,1)要么(1,n) ''' addition=np.random.randint(0,10,size=(2,4)) out=addition.T print(out.shape)#(4, 2) ''' numpy ndarray 的T方法 表示对于numpy数组进行转置 ''' a=np.array([1,2,3]) print(a.shape,a.T.shape)#(3,) (3,) ''' 转置之前和转置之后的数组具有相同的shape,足以说明a并不是行向量或者列向量 ''' ''' 通过使用numpy.exp_dims(numpy.ndarray.axis)构造行向量或者列向量 '''
谢谢 https://blog.csdn.net/wintersshi/article/details/80489258