简化行和列提取,numpy

时间:2012-03-01 11:31:00

标签: python numpy

我希望使用单个“花式”切片从矩阵中提取行和列,这可能吗?

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

我的目标是

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

我有一份我想要的物品清单

d = [0,2]

我可以通过

实现功能
m[d][:,d]

但是有一个更简单的表达吗?

1 个答案:

答案 0 :(得分: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]]