简化行和列的提取,numpy

3

我希望能够通过单个“高级”切片从矩阵中提取行和列,这是否可行?

m = matrix([[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]])

我的目标是

matrix([[1, 3],
        [7, 9]])

我有一个想要的物品列表

d = [0,2]

我可以通过以下方式实现该功能:
m[d][:,d]

但是是否有更简单的表达方式?
1个回答

8
你可以使用 numpy.ix_ 来实现这一点:
m = matrix([[1, 2, 3],
            [4, 5, 6],
            [7, 8, 9]])

d = [0,2]
print m[ix_(d,d)]

它将发出:

[[1 3]
 [7 9]]

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接