Sono nuovo di Python e non riesco ancora a definirmi un programmatore Python. A proposito, per favore portami con me se la mia domanda non ha senso.Trova il massimo di ogni riga in una matrice numpy e l'elemento corrispondente in un'altra matrice della stessa dimensione
Domanda:
Ho due matrici numpy della stessa dimensione, ad esempio A e B dove A.shape è uguale a B.shape ed entrambi uguali (5.1000), e voglio trovare il valore massimo di ogni riga in A e l'elemento corrispondente di quello in B. Ad esempio, se nella quarta riga di A, l'indice di elemento massimo è 104, quindi vorrei trovare il 104esimo elemento della quarta riga nell'array B e lo stesso per il resto delle righe.
So che posso farlo collegando le righe, ma mi chiedevo se c'era un modo più elegante di farlo. Ad esempio, se dovessi farlo in MATLAB vorrei scrivere il seguente codice:
B(bsxfun(@eq,A,max(A,[],2)))
Tutto l'aiuto che mi guida attraverso la giusta direzione sarebbe molto apprezzato.
buona risposta (+1), che ne dici di provare a costruire una soluzione usando 'np.argpartition'? –
Era intelligente! Ecco perché sto iniziando ad amare Python. Puoi fare cose complicate con semplici comandi! – Omid