2017-09-14 1 views
1

mon ami A est de retour et elle ressemble maintenant àComment découper un tableau 2D non consécutivement en 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], 
      ]) 

Je dois trouver la sous-matrice qui est H = A[(1,3,7), (2,3,6)]. Mais c'est retourne

array([0, 0, 1]) 

J'attends les lignes 1, 3 et 7 paires de colonnes 2,3 et 6. Je ne peux pas sembler trouver cette syntaxe.

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

Répondre

2

Vous pouvez utiliser np.ix_:

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

DOH! J'ai oublié cela. Merci! –