【发布时间】:2017-02-16 06:20:58
【问题描述】:
我想在 Python/numpy 的矩阵中索引列向量,并将其作为列向量而不是一维数组返回。
x = np.array([[1,2],[3,4]])
x[:,1]
>array([2, 4])
给予
np.transpose(x[:,1])
不是解决方案。按照numpy.transpose 文档,这将返回一个行向量(一维数组)。
【问题讨论】:
标签: python numpy matrix indexing
我想在 Python/numpy 的矩阵中索引列向量,并将其作为列向量而不是一维数组返回。
x = np.array([[1,2],[3,4]])
x[:,1]
>array([2, 4])
给予
np.transpose(x[:,1])
不是解决方案。按照numpy.transpose 文档,这将返回一个行向量(一维数组)。
【问题讨论】:
标签: python numpy matrix indexing
几个选项 -
x[:,[1]]
x[:,None,1]
x[:,1,None]
x[:,1][:,None]
x[:,1].reshape(-1,1)
x[None,:,1].T
【讨论】:
x[:,[1]] 有效而x[:,1] 无效?
[1] 索引,基本上我们传递了一个恰好包含一个元素的索引列表,因此它保持原样。以1 作为索引,它是一个标量,维度将沿着索引轴和编号减少。切片的点数会少一个。我找到了一个有用的链接:scipy.github.io/old-wiki/pages/Cookbook/Indexing