我使用 Python 和 NumPy,并且在“转置”方面遇到一些问题:
import numpy as np
a = np.array([5,4])
print(a)
print(a.T)
调用a.T
没有转置数组。如果a
例如[[],[]]
然后它会正确转置,但我需要转置[...,...,...]
.
它完全按照预期工作。 a 的转置1D数组仍然是一个1D大批! (如果你习惯了 Matlab,它根本上没有一维数组的概念。Matlab 的“一维”数组是二维的。)
如果你想将一维向量转换为二维数组然后转置它,只需将其切片np.newaxis
(or None
,它们是相同的,newaxis
只是更具可读性)。
import numpy as np
a = np.array([5,4])[np.newaxis]
print(a)
print(a.T)
但一般来说,您无需担心这一点。如果您只是出于习惯,添加额外的维度通常不是您想要的。 Numpy 在进行各种计算时会自动广播一维数组。通常不需要区分行向量和列向量(两者都不是vectors。当你只想要一个向量时,它们都是二维的!)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)