我有多个numpy数组,我想将数字加在一起,但忽略会减小结果绝对值的数字。因此对于第一次迭代,我想将数字10,-20和50相加。但是我忽略-20值,因为这会减小结果的绝对值。但是对于下一次迭代,我想忽略100值。有没有简单的方法可以做到这一点?
array 0: [10, 100]
array 1: [-20, -40]
array 2: [50, -70]
desired result: [60, -110]
我不确定它与numpy有什么关系。但是从算法角度来看,您可以像这样完成它:
positives=[]
negatives=[]
result=[]
for i in range(len(array1)):
if array0[i]<0:
negatives.append(array0[i])
positives.append(0)
else:
positives.append(array0[i])
negatives.append(0)
if array1[i]<0:
negatives[i]+=array1[i]
else:
positives[i]+=array1[i]
if array2[i]<0:
negatives[i]+=array2[i]
else:
positives[i]+=array2[i]
for i in range(len(array1)):
if positives[i] >= - negatives[i]:
result.append(positives[i])
else:
result.append(negatives[i])
return result