Python 如何使用NumPy中的切片来反转二维矩阵的值?
要反转最后一行是第一行,我们可以写:Python 如何使用NumPy中的切片来反转二维矩阵的值?,python,numpy,matrix,slice,reverse,Python,Numpy,Matrix,Slice,Reverse,要反转最后一行是第一行,我们可以写: import numpy as np a = np.arange(20) a = a.reshape(4,5) c = a[::-1,:] print c c: [[15 16 17 18 19] [10 11 12 13 14] [ 5 6 7 8 9] [ 0 1 2 3 4]] 但是切片反转如何使用最后一列最后一行之前的第一行呢 我这边只有一条线。但是,在矩阵开始之前,我如何用这个语句到达矩阵呢 a[-1, -1::-1
import numpy as np
a = np.arange(20)
a = a.reshape(4,5)
c = a[::-1,:]
print c
c:
[[15 16 17 18 19]
[10 11 12 13 14]
[ 5 6 7 8 9]
[ 0 1 2 3 4]]
但是切片反转如何使用最后一列最后一行之前的第一行呢
我这边只有一条线。但是,在矩阵开始之前,我如何用这个语句到达矩阵呢
a[-1, -1::-1]
a:
[19 18 17 16 15]
通过在每个轴中使用切片::-1,可以反转二维阵列的行和列:
>>> a[::-1, ::-1]
array([[19, 18, 17, 16, 15],
[14, 13, 12, 11, 10],
[ 9, 8, 7, 6, 5],
[ 4, 3, 2, 1, 0]])
通过在每个轴中使用切片::-1,可以反转二维阵列的行和列:
>>> a[::-1, ::-1]
array([[19, 18, 17, 16, 15],
[14, 13, 12, 11, 10],
[ 9, 8, 7, 6, 5],
[ 4, 3, 2, 1, 0]])
其他两种方式: 在将其设置为2d之前反转:
In [928]: np.arange(20)[::-1].reshape(4,5)
Out[928]:
array([[19, 18, 17, 16, 15],
[14, 13, 12, 11, 10],
[ 9, 8, 7, 6, 5],
[ 4, 3, 2, 1, 0]])
反转这些值,并将其复制回平面
其他两种方式: 在将其设置为2d之前反转:
In [928]: np.arange(20)[::-1].reshape(4,5)
Out[928]:
array([[19, 18, 17, 16, 15],
[14, 13, 12, 11, 10],
[ 9, 8, 7, 6, 5],
[ 4, 3, 2, 1, 0]])
反转这些值,并将其复制回平面
我不太清楚你在问什么-你想倒转a的最后一行,保持其他行不变吗?如果你能发布你想要的数组,那么一切都会变得清晰。谢谢[19 18 17 16 15][14 13 12 11 10][9 8 7 6 5][4 3 2 1 0]]保留其他行,对不起!啊,好的-没问题,我在下面贴了一个答案…@richardsonbruno别忘了,如果你想让2D数组水平翻转,你可以接受答案。如果是这样的话,您可以使用numpy的flip lr功能:我不太清楚您在问什么-您想只反转a的最后一行并保持其他行不变吗?如果你能发布你想要的数组,那么一切都会变得清晰。谢谢[19 18 17 16 15][14 13 12 11 10][9 8 7 6 5][4 3 2 1 0]]保留其他行,对不起!啊,好的-没问题,我在下面贴了一个答案…@richardsonbruno别忘了,如果你想让2D数组水平翻转,你可以接受答案。如果是这样,您可以使用numpy的flip lr功能: