我使用Python和NumPy,“移调”有一些问题:
import numpy as np a = np.array([5,4]) print(a) print(a.T)
调用a.T不转置数组。a例如,如果为,[[],[]]则它正确转置,但我需要的转置[...,...,...]。
a.T
a
[[],[]]
[...,...,...]
它的工作完全符合预期。一 维 数组的转置仍然是 一维 数组!(如果您习惯使用matlab,从根本上来说就没有1D数组的概念。Matlab的“ 1D”数组是2D。)
如果要将一维矢量转换为二维数组然后转置,只需对其进行切片np.newaxis(或者None,它们是相同的,newaxis可读性更高)。
np.newaxis
None
newaxis
import numpy as np a = np.array([5,4])[np.newaxis] print(a) print(a.T)
一般来说,尽管如此,您无需担心。如果只是出于习惯,添加额外的维度通常不是您想要的。进行各种计算时,Numpy将自动广播一维数组。当您只想要一个向量时,通常无需区分行向量和列向量(都不是 向量 。它们都是二维的!)。