脾气暴躁:如何取矩阵的一部分

时间:2018-12-13 13:26:44

标签: python numpy matrix indexing

我只需要采用尺寸为1273x1273的矩阵的某些部分/子集。

我有两个索引= {i,j},我必须采用矩阵的元素,其中i是行的索引,而j不是列的索引,反之亦然。

例如:

M=[[1,2,3,4],
  [5,6,7,8],
  [9,10,11,12],
  [13,14,15,16]]

如果i = 1且j = 3,则必须构造一个子矩阵

[[5,7],
[13,15]]

我假设第一行和第一列的索引为0。

2 个答案:

答案 0 :(得分:0)

首先,获取行ij

# names are less than perfect
row_i = M[i]
row_j = M[j]

然后从这些行中删除列ji

del row_i[j]
del row_j[i]

然后返回您的新矩阵([row_i, row_j]。)

答案 1 :(得分:0)

我不知道i或j是否随您的需要而改变,但是这里提取前三列而没有第四列的基本操作是:

m[:,:2]

,如果您想单独使用最后一列:

m[:,3]

您可以将2更改为所需的列号。