如何在python中使用numpy来交换数组术语的位置?

时间:2016-08-13 06:49:17

标签: numpy

a = np.arange(12).reshape(2,3,2)

[[[ 0  1]
  [ 2  3]
  [ 4  5]]
 [[ 6  7]
  [ 8  9]
  [10 11]]]

如何交换[4 5]和[10 11]的位置使用numpy?感谢

1 个答案:

答案 0 :(得分:1)

可以使用以下方式对这些行进行切片:

In [1418]: a[:,2,:]
Out[1418]: 
array([[ 4,  5],
       [10, 11]])

以相反顺序查看:

In [1419]: a[::-1,2,:]
Out[1419]: 
array([[10, 11],
       [ 4,  5]])

并替换为:

In [1420]: a[:,2,:] = a[::-1,2,:]
In [1421]: a
Out[1421]: 
array([[[ 0,  1],
        [ 2,  3],
        [10, 11]],

       [[ 6,  7],
        [ 8,  9],
        [ 4,  5]]])