python - python 中矩阵的索引和切片

标签 python slice

 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/

相关文章:

python - 安装 biopython - 在注册表中找不到 python 3.3

python - 通过 bash 启动 python 脚本时权限被拒绝

ruby - 在 Ruby 中从末尾切片字符串

go - 从 slice 中移除接口(interface)项

string - 戈朗 : print string array in an unique way

python - 是否可以查询 PyQt4 QObject 以确定底层 C++ 实例是否已被销毁?

python - 类型错误 : Mean() missing 1 required positional argument: 'data'

Javascript 用前导零切片日期/时间

python - 如何使用 Pandas 中另一列的长度作为切片参数

python - ValueError:层激活_1调用的输入不是符号张量