2017-09-14 59 views
1

我的朋友A切片的二維數組的非連續又回來了,她現在看起來像如何在Python

A = np.array([ 
    [0,1,1,1,0,0,0,0], 
    [1,0,0,1,0,0,0,0], 
    [1,0,0,1,0,0,0,0], 
    [1,1,1,0,0,0,0,0], 
    [0,0,0,1,0,1,0,0], 
    [0,0,0,0,1,0,1,1], 
    [0,0,0,0,0,1,0,1], 
    [0,0,0,0,0,1,1,0], 
      ]) 

我需要找到的子矩陣爲H = A[(1,3,7), (2,3,6)]。但那返回

array([0, 0, 1]) 

我期待與我似乎無法找到語法列2,3和6成對行1,3和7。

H = [[0,1,0], 
    [1,0,0], 
    [0,0,1]] 

回答

2

您可以使用np.ix_

A[np.ix_((1,3,7),(2,3,6))] 
#array([[0, 1, 0], 
#  [1, 0, 0], 
#  [0, 0, 1]]) 
+1

DOH!我忘了那個。謝謝! –