代码之家  ›  专栏  ›  技术社区  ›  Mattijn

numpy中的列切片集

  •  0
  • Mattijn  · 技术社区  · 7 年前

    numpy array 像这样的:

    >>> a = np.array([[1, 2, 3, 0, 1], [2, 3, 2, 2, 2], [0, 3, 3, 2, 2]])
    >>> a
    array([[1, 2, 3, 0, 1],
           [2, 3, 2, 2, 2],
           [0, 3, 3, 2, 2]])
    

    array

    b = [[0,1], [0,3], [1,4]]
    

    a 使用 b 要获得这样的结果:

    array([[[1, 2],
            [2, 3],
            [0, 3]],
    
           [[1, 0],
            [2, 2],
            [0, 2]],
    
           [[2, 1],
            [3, 2],
            [3, 2]]])
    
    1 回复  |  直到 7 年前
        1
  •  1
  •   akuiper    7 年前

    b 作为列索引,将数组子集化,然后转置结果:

    a[:, b].swapaxes(0, 1)
    
    # array([[[1, 2],
    #         [2, 3],
    #         [0, 3]],
    #        [[1, 0],
    #         [2, 2],
    #         [0, 2]],
    #        [[2, 1],
    #         [3, 2],
    #         [3, 2]]])
    
    推荐文章