Простые расчеты по следующим направлениям помогут вам выбрать наиболее подходящий способ обработки вашего дела:
In []: A, B= randint(-1, 2, size= (48, 365)), randint(-1, 2, size= (48, 365))
In []: ignore= (0== A)| (0== B)
In []: valid= ~ignore
In []: (A[valid]== B[valid]).sum()
Out[]: 3841
In []: (A[valid]!= B[valid]).sum()
Out[]: 3849
In []: ignore.sum()
Out[]: 9830
Проверка правильности расчетов:
In []: 3841+ 3849+ 9830== 48* 365
Out[]: True
Следовательно, ваш score
(с этими случайными значениями) будет:
In []: a, b= A[valid], B[valid]
In []: score= (a== b).sum()- (a!= b).sum()
In []: score
Out[]: -8