小编典典

转置一维 NumPy 数组

all

我使用 Python 和 NumPy 并且在“转置”方面遇到了一些问题:

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

调用a.T不是转置数组。a例如,如果是,[[],[]]那么它可以正确转置,但我需要[...,...,...].


阅读 78

收藏
2022-05-22

共1个答案

小编典典

它完全按照它应该的方式工作。 一维 数组的转置仍然是一 数组!(如果你习惯于 matlab,它基本上没有一维数组的概念。Matlab
的“一维”数组是二维的。)

如果您想将 1D 向量转换为 2D
数组然后转置它,只需将其切片np.newaxis(或者None,它们是相同的,newaxis只是更具可读性)。

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

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

2022-05-22