gpt4 book ai didi

python - 在 Numpy 中将行向量转换为列向量

转载 作者:太空狗 更新时间:2023-10-29 22:15:22 25 4
gpt4 key购买 nike

假设我有一个形状为 (1, 256) 的行向量。我想将其转换为 (256, 1) 形状的列向量。你会如何在 Numpy 中做到这一点?

最佳答案

您可以使用 transpose 这样做的操作:

例子:

In [2]: a = np.array([[1,2], [3,4], [5,6]])
In [5]: a.shape
Out[5]: (3, 2)

In [6]: a_trans = a.T #or: np.transpose(a), a.transpose()
In [8]: a_trans.shape
Out[8]: (2, 3)
In [7]: a_trans
Out[7]:
array([[1, 3, 5],
[2, 4, 6]])

请注意,原始数组 a 仍将保持不变。转置操作只会制作一个副本并将其转置。


如果您的输入数组是一维的,那么您可以通过引入一个新的(单例)轴作为第二维来提升该数组为列向量。下面是一个例子:

# 1D array
In [13]: arr = np.arange(6)

# promotion to a column vector (i.e., a 2D array)
In [14]: arr = arr[..., None] #or: arr = arr[:, np.newaxis]

In [15]: arr
Out[15]:
array([[0],
[1],
[2],
[3],
[4],
[5]])

In [12]: arr.shape
Out[12]: (6, 1)

对于一维情况,另一种选择是使用 numpy.atleast_2d()接着是转置操作,as suggested by ankostis in the comments .

In [9]: np.atleast_2d(arr).T
Out[9]:
array([[0],
[1],
[2],
[3],
[4],
[5]])

关于python - 在 Numpy 中将行向量转换为列向量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36384760/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com