【问题标题】:Selecting a column vector from a matrix in Python从 Python 中的矩阵中选择列向量
【发布时间】: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


    【解决方案1】:

    几个选项 -

    x[:,[1]]
    x[:,None,1]
    x[:,1,None]
    x[:,1][:,None]
    x[:,1].reshape(-1,1)
    x[None,:,1].T
    

    【讨论】:

    • 谢谢。为什么x[:,[1]] 有效而x[:,1] 无效?
    • @tomka 有了[1] 索引,基本上我们传递了一个恰好包含一个元素的索引列表,因此它保持原样。以1 作为索引,它是一个标量,维度将沿着索引轴和编号减少。切片的点数会少一个。我找到了一个有用的链接:scipy.github.io/old-wiki/pages/Cookbook/Indexing
    猜你喜欢
    • 1970-01-01
    • 2019-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-17
    • 2013-05-18
    • 1970-01-01
    • 2014-07-06
    相关资源
    最近更新 更多