Добавьте numpy массивы вместе, чтобы создать новый массив с максимальным абсолютным значением - PullRequest
0 голосов
/ 26 января 2020

У меня есть несколько массивов numpy, и я хотел бы сложить числа вместе, но игнорировать числа, которые уменьшают абсолютное значение результата. Поэтому для первой итерации я хочу добавить числа 10, -20 и 50. Но я игнорирую значение -20, потому что это уменьшает абсолютное значение результата. Но для следующей итерации я хочу игнорировать значение 100. Есть ли простой способ сделать это?

array 0: [10, 100]

array 1: [-20, -40]

array 2: [50, -70]

desired result: [60, -110]

1 Ответ

1 голос
/ 26 января 2020

Я не уверен, как это связано с numpy. Но с точки зрения алгоритма c вы можете сделать это так:

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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...