numpy中的行向量和列向量

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

猜你喜欢

转载自blog.csdn.net/WYXHAHAHA123/article/details/87536318