import numpy as np
A= array([[ 1, 2, 3, 4, 5, 6, 7, 8],
[ 9, 10, 11, 12, 13, 14, 15, 16],
[17, 18, 19, 20, 21, 22, 23, 24],
[25, 26, 27, 28, 29, 30, 31, 32],
[33, 34, 35, 36, 37, 38, 39, 40],
[41, 42, 43, 44, 45, 46, 47, 48],
[49, 50, 51, 52, 53, 54, 55, 56],
[57, 58, 59, 60, 61, 62, 63, 64]])
我想按这个顺序抓取(0,4,5,7)行和列 所以 o/p 看起来像
A=
1 5 4 8
33 37 36 40
25 29 28 32
57 61 60 64
我尝试了这个 A[(0,4,5,7),(0,4,5,7)] 但它给了我错误。
注意:我想在同一个矩阵中对它进行切片。
最佳答案
只需两步即可建立索引
x = A[:,[0,4,5,7]]
x = x[[0,4,5,7],:]
>>> x
array([[ 1, 5, 6, 8],
[33, 37, 38, 40],
[41, 45, 46, 48],
[57, 61, 62, 64]])
我更改了变量名称,以便您保留原始的 A
,但如果您不想,则不必这样做。
或者,一行:
x = A[:,[0,4,5,7]][[0,4,5,7],:]
关于python - python 中矩阵的索引和切片,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49016859/