Python 如何在一次操作中反转numpy阵列第一轴的前四个元素和第二轴?

Python 如何在一次操作中反转numpy阵列第一轴的前四个元素和第二轴?,python,arrays,numpy,indexing,Python,Arrays,Numpy,Indexing,我有一个n,1000,6的numpy数组M。这可以被认为是具有1000行和6列的n个矩阵。对于每个矩阵,我希望颠倒行的顺序,即最上面的行现在在底部,反之亦然,然后颠倒前4列的顺序,因此列0现在是列3,列1是列2,列2是列1,列3是列0,但列4仍然是列4,列5仍然是列5。我希望在单个操作中执行此操作,而不在表达式的左侧执行索引,因此这是不可接受的: M[:,0:4,:]=M[:,0:4,:][:,::-1,:] M[:,:,:]=M[:,:,::-1] 该操作需要使用Keras后端来实现,这是

我有一个n,1000,6的numpy数组M。这可以被认为是具有1000行和6列的n个矩阵。对于每个矩阵,我希望颠倒行的顺序,即最上面的行现在在底部,反之亦然,然后颠倒前4列的顺序,因此列0现在是列3,列1是列2,列2是列1,列3是列0,但列4仍然是列4,列5仍然是列5。我希望在单个操作中执行此操作,而不在表达式的左侧执行索引,因此这是不可接受的:

M[:,0:4,:]=M[:,0:4,:][:,::-1,:] M[:,:,:]=M[:,:,::-1]

该操作需要使用Keras后端来实现,这是不允许的。它必须是那种形式

M=M[在此处建立索引以解决任务]


如果我想颠倒所有列的顺序,而不仅仅是前4列,这可以通过M=M[:,::-1,::-1]轻松实现,因此我一直在尝试修改它以实现我的目标,但不幸的是,无法解决如何实现。这可能吗

M[:,:-1,[3,2,1,0,4,5]]

@Dadep这个问题是为了反转一个轴,这不是我要问的。你想评论一下吗?