2013-10-09 14 views

risposta

4

Si potrebbe utilizzare la trasmissione:

c = sum(a[...,np.newaxis]*b[np.newaxis,...],axis=1) # == np.dot(a,b) 

c = sum(a[...,np.newaxis]==b[np.newaxis,...],axis=1) 

Ho incluso il newaxis in b solo chiarire come tale matrice è espanso. Esistono altri modi per aggiungere quote agli array (risagoma, ripeti, ecc.), Ma l'effetto è lo stesso. Espandere a e b nella stessa forma per eseguire l'elemento per la moltiplicazione dell'elemento (o ==), quindi sommare sull'asse corretto.

+0

+1 bello, grazie –

+0

Grazie. Questo è molto pulito –

Problemi correlati