我有两个大小相同的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