小编典典

转置一维NumPy数组

python

我使用Python和NumPy,“移调”有一些问题:

import numpy as np
a = np.array([5,4])
print(a)
print(a.T)

调用a.T不转置数组。a例如,如果为,[[],[]]则它正确转置,但我需要的转置[...,...,...]


阅读 250

收藏
2020-12-20

共1个答案

小编典典

它的工作完全符合预期。一 数组的转置仍然是 一维 数组!(如果您习惯使用matlab,从根本上来说就没有1D数组的概念。Matlab的“
1D”数组是2D。)

如果要将一维矢量转换为二维数组然后转置,只需对其进行切片np.newaxis(或者None,它们是相同的,newaxis可读性更高)。

import numpy as np
a = np.array([5,4])[np.newaxis]
print(a)
print(a.T)

一般来说,尽管如此,您无需担心。如果只是出于习惯,添加额外的维度通常不是您想要的。进行各种计算时,Numpy将自动广播一维数组。当您只想要一个向量时,通常无需区分行向量和列向量(都不是
向量 。它们都是二维的!)。

2020-12-20