【发布时间】:2017-06-01 21:42:00
【问题描述】:
numpy 似乎无法转置向量? 我想将一个向量投影到一个矩阵中,你可以使用 np.tile 对行做没有问题 -
In [7]: vector = np.arange(start=0,stop=1,step=1.0/5)
In [8]: mat = np.tile(vector, (2,1))
In [9]: mat
Out[9]: array([[ 0. , 0.2, 0.4, 0.6, 0.8],
[ 0. , 0.2, 0.4, 0.6, 0.8]])
但如果你想将相同的向量平铺成列,似乎你必须这样做
In[11]: mat = np.tile(vector,(2,1))
In[12]: mat=mat.transpose()
In[13]: mat
Out[13]: array([[ 0. , 0. ],
[ 0.2, 0.2],
[ 0.4, 0.4],
[ 0.6, 0.6],
[ 0.8, 0.8]])
而不是更合乎逻辑的(无论如何对我来说)
In[30]: mat = np.tile(vector.transpose(),(1,2))
它没有给出想要的结果,而是给出了一个行向量,转置是无关紧要的 -
Out[31]: array([[ 0. , 0.2, 0.4, 0.6, 0.8, 0. , 0.2, 0.4, 0.6, 0.8]])
虽然这不是一个大问题,但我担心它的不公正
【问题讨论】:
-
转置切换尺寸。对于一维数组,这意味着将第一维与第一维切换。
标签: python numpy matrix vector transpose