Questo sembra semplice (ed è banale scrivere un ciclo a tre linee per), ma come posso usare numpy slicing creare un elenco delle posizioni dell'indice della diagonale superiore di un array numpy? CioèDiagonale superiore di un array numpy 2D
Data una matrice 4x4, vorrei le posizioni di indice a le X:
[ X X X X ]
[ 0 X X X ]
[ 0 0 X X ]
[ 0 0 0 X ]
Dare:
[ (0,0), (0,1), (0,2), (0,3), (1,1), (1,2), (1,3), (2,2), (2,3), (3,3) ]
Grazie per la risposta (Justin e Carnieri). Due cose da notare, questo richiede Numpy 1.4 che attualmente non è lo standard su Ubuntu. Inoltre si possono ottenere gli indici richiesti semplicemente scompattando la risposta, cioè. 'Zip (* numpy.triu_indices (X))'. – Hooked