Ho due array numpy uguali (sono 48x365) dove ogni elemento è -1, 0 o 1. Voglio confrontare i due e vedere quante volte sono sia lo stesso sia quante volte sono diversi mentre si attualizzano tutte le volte in cui almeno uno degli array ha zero come nessun dato. Ad esempio:Confronto tra due array numpy l'uno con l'altro
for x in range(48):
for y in range(365):
if array1[x][y] != 0:
if array2[x][y] != 0:
if array1[x][y] == array2[x][y]:
score = score + 1
else:
score = score - 1
return score
Questo richiede molto tempo. Stavo pensando di sfruttare il fatto che moltiplicare gli elementi insieme e sommare tutte le risposte può dare lo stesso risultato, e sto cercando una funzione speciale numpy per aiutare con quello. Non sono davvero sicuro di quale insolita funzione numpy ci sia.
Buona idea! Ma questo mi dà una matrice booleana. Devo ancora riassumere tutti i True per ottenere un punteggio. C'è un modo spettrale per farlo? –
sicuro. 'np.sum (ans)' – Paul
puoi anche usare 'np.sum (array1 [ans])' o 'np.sum (array2 [ans])' se vuoi sommare da solo. ogni volta che si ha un 'falso' come una voce non si tiene conto del valore. – ahelm