我有兩個大小相同的numpy數組(它們恰好是48x365),其中每個元素都是-1,0或1.我想比較兩者並查看它們是多少次都是相同的,並且它們有多少次是不同的,同時將至少其中一個數組具有零的所有時間作爲無數據的折扣。例如:比較兩個numpy數組彼此
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
這需要很長時間。我正在考慮利用這樣的事實,即將這些元素放在一起並彙總所有答案可能會產生相同的結果,並且我正在尋找一種特殊的numpy函數來幫助解決這個問題。我不太確定那裏有什麼不尋常的numpy功能。
好主意!但是這給了我一個布爾數組。我仍然需要總結所有的真正的得分。是否有一種顛覆性的方式來做到這一點? –
當然。 'np.sum(ans)' – Paul
如果你想自己求和,你也可以使用'np.sum(array1 [ans])'或'np.sum(array2 [ans])'。每次你有一個「假」作爲條目,它都不會考慮到這個值。 – ahelm