【问题标题】:How to slice a 2D array non-consecutively in Python [duplicate]如何在Python中非连续地切片二维数组[重复]
【发布时间】:2018-02-23 21:49:52
【问题描述】:

我的朋友A回来了,她现在看起来像

A = np.array([
    [0,1,1,1,0,0,0,0], 
    [1,0,0,1,0,0,0,0],
    [1,0,0,1,0,0,0,0],
    [1,1,1,0,0,0,0,0],
    [0,0,0,1,0,1,0,0],
    [0,0,0,0,1,0,1,1],
    [0,0,0,0,0,1,0,1],
    [0,0,0,0,0,1,1,0],
             ])

我需要找到H = A[(1,3,7), (2,3,6)] 的子矩阵。但这就是回报

array([0, 0, 1])

我期待第 1、3 和 7 行与第 2,3 和 6 列配对。我似乎找不到该语法。

H = [[0,1,0],
     [1,0,0],
     [0,0,1]]

【问题讨论】:

    标签: python arrays numpy


    【解决方案1】:

    你可以使用np.ix_:

    A[np.ix_((1,3,7),(2,3,6))]
    #array([[0, 1, 0],
    #       [1, 0, 0],
    #       [0, 0, 1]])
    

    【讨论】:

    • 卫生署!我忘记了。谢谢!
    猜你喜欢
    • 1970-01-01
    • 2013-04-12
    • 2019-05-14
    • 1970-01-01
    • 2020-04-13
    • 2011-08-23
    • 2018-05-08
    • 2011-09-19
    • 2019-08-08
    相关资源
    最近更新 更多