python массив, рассчитать сумму для всех True´s - PullRequest
0 голосов
/ 16 апреля 2020

Привет, у меня есть следующие массивы, и я пытаюсь вычислить сумму my_array3 для всех «истин» в зависимости от my_array1 и my_array2

list1 = [20, 20, 21, 25, 26, 40]
list2 = [25, 25, 29, 0, 35, 42]
list3 = [1,1,1,3,1,1]

my_array1 = np.array(list1)
my_array2 = np.array(list2)
my_array3 = np.array(list3)

x = my_array1 < my_array2
# not correct
# x = my_array1 < my_array2.sum(my_array3)

Я получаю результат «5», потому что «my_array1 y my_array2» значение 3 ложно. Спасибо

1 Ответ

1 голос
/ 16 апреля 2020

Когда вы делаете сравнение, вы получаете массив логических значений:

>>> my_array1 < my_array2
array([ True,  True,  True, False,  True,  True])

Используйте это как маску, и затем вы можете суммировать результат:

>>> my_array3[my_array1 < my_array2].sum()
5
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...