我使用 Python 和 NumPy 并且在“转置”方面遇到了一些问题:
import numpy as np a = np.array([5,4]) print(a) print(a.T)
调用a.T不是转置数组。a例如,如果是,[[],[]]那么它可以正确转置,但我需要[...,...,...].
a.T
a
[[],[]]
[...,...,...]
它完全按照它应该的方式工作。 一维 数组的转置仍然是一 维 数组!(如果你习惯于 matlab,它基本上没有一维数组的概念。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 在进行各种计算时会自动广播一维数组。当您只需要一个向量时,通常不需要区分行向量和列向量(两者都不是 向量 。它们都是二维的!)。