我有两个大小相同的numpy数组(它们恰好是48x365),每个元素都是-1、0或1。我想比较这两个数组,看看它们有多少次是相同的,有多少次是不同的,同时折扣掉所有至少有一个数组有零作为无数据的情况。例如:
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(array1[ans])
或np.sum(array2[ans])
。每当有一个条目为“false”时,它将不计入值。 - ahelm