numpy反向多维数组

xyz*_*123 19 python numpy multidimensional-array

numpy中最简单的方法是反转数组的最内部值,如下所示:

array([[[1, 1, 1, 2],
    [2, 2, 2, 3],
    [3, 3, 3, 4]],

   [[1, 1, 1, 2],
    [2, 2, 2, 3],
    [3, 3, 3, 4]]])
Run Code Online (Sandbox Code Playgroud)

这样我得到以下结果:

array([[[2, 1, 1, 1],
    [3, 2, 2, 2],
    [4, 3, 3, 3]],

   [[2, 1, 1, 1],
    [3, 2, 2, 2],
    [4, 3, 3, 3]]])
Run Code Online (Sandbox Code Playgroud)

非常感谢你!

Jos*_*del 34

怎么样:

import numpy as np
a = np.array([[[10, 1, 1, 2],
               [2, 2, 2, 3],
               [3, 3, 3, 4]],
              [[1, 1, 1, 2],
               [2, 2, 2, 3],
               [3, 3, 3, 4]]])
Run Code Online (Sandbox Code Playgroud)

而最后一个维度的反面是:

b = a[:,:,::-1]
Run Code Online (Sandbox Code Playgroud)

要么

b = a[...,::-1]
Run Code Online (Sandbox Code Playgroud)

虽然我喜欢后者较少,因为前两个维度是隐含的,并且更难以看到发生了什么.