python - 转置一维 NumPy 数组

我使用 Python 和 NumPy,但在“转置”方面存在一些问题:

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

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

最佳答案

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

如果你想把你的一维向量变成一个二维数组然后转置它,只需用 np.newaxis (或 None,它们是一样的, newaxis 更具可读性)。

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

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

https://stackoverflow.com/questions/5954603/

相关文章:

python - 替换大于某个值的 Python NumPy 数组的所有元素

python - 如何删除 Python 中的前导空格?

python - 创建用 NaN 填充的 numpy 矩阵

python - 在 Alpine Linux 上安装 Pillow 时没有这样的文件或目录 "li

python - 随机种子() : What does it do?

windows - 使用什么字符将项目放在字母列表的末尾?

python - 如何在 Python 中列出目录的内容?

linux - 如何从命令行获取 nvidia 驱动程序版本?

linux - 如果指向的文件被移动或删除,Linux 上打开的文件句柄会发生什么

linux - 如何找出文件的 MIME 类型(Content-Type)?