Mam dwie identyczne tablice o tej samej wielkości (są to 48x365), gdzie każdy element ma wartość -1, 0 lub 1. Chcę porównać te dwa i zobaczyć, ile razy są one zarówno te same, jak i ile razy są różne, dyskontując wszystkie czasy, w których co najmniej jedna z tablic ma zero jako brak danych. Na przykład:Porównanie dwóch niezliczonych tablic ze sobą
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
Zajmuje to bardzo dużo czasu. Myślałem, aby wykorzystać fakt, że pomnożenie elementów razem i zsumowanie wszystkich odpowiedzi może dać taki sam wynik, i szukam specjalnej funkcji numpy, aby pomóc w tym. Nie jestem do końca pewien, jakie niezwykłe funkcje są dostępne.
Dobry pomysł! Ale to daje mi tablicę boolowską. Nadal muszę podsumować wszystkie True's, aby uzyskać wynik. Czy istnieje sposób na numpie-thonic? –
pewnie. 'np.sum (ans)' – Paul
możesz także użyć 'np.sum (array1 [ans])' lub 'np.sum (array2 [ans])' jeśli chcesz sumować sam. za każdym razem, gdy masz wpis "false", nie bierze on pod uwagę wartości. – ahelm