Tengo dos matrices numpy de igual tamaño (que son 48x365) donde cada elemento es -1, 0 o 1. Quiero comparar las dos y ver cuántas veces son tanto lo mismo y cuántas veces son diferentes mientras se descuentan todas las veces en que al menos una de las matrices tiene un cero como no hay datos. Por ejemplo:Comparando dos matrices numpy entre sí
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
Esto lleva mucho tiempo. Estaba pensando en aprovechar el hecho de que multiplicar los elementos juntos y sumar todas las respuestas puede dar el mismo resultado, y estoy buscando una función numpy especial para ayudar con eso. No estoy seguro de qué función numpy inusual hay por ahí.
¡Buena idea! Pero esto me da una matriz booleana. Todavía necesito resumir todos los True para obtener una puntuación. ¿Hay una manera numpy-thonic para hacer eso? –
seguro. 'np.sum (ans)' – Paul
también puede usar 'np.sum (array1 [ans])' o 'np.sum (array2 [ans])' si desea sumar por sí mismo. cada vez que tenga un 'falso' como entrada, no tendrá en cuenta el valor. – ahelm