Или операция нескольких 1d numpy .ndarray - PullRequest
1 голос
/ 12 июля 2020

У меня есть несколько bool np.ndarray одинаковой формы, например:

a1 = [T, F, F]
a2 = [F, F, T]
a3 = [F, T, F]

Как я могу применить операцию or, возможно, что-то вроде этого и получить результат [T, T, T]?

res = Or([a1, a2, a3])

1 Ответ

2 голосов
/ 12 июля 2020

Если я правильно понимаю, вам нужно следующее:

a1 = [True, False, False]
a2 = [False, False, True]
a3 = [False, True, False]
res = np.vstack([a1,a2,a3]).any(axis=0)

или в равной степени:

res = np.logical_or.reduce([a1,a2,a3])

(я ожидаю, что сокращение будет быстрее или аналогичным по производительности, чем стек). Есть также много других способов добиться этого. Я ожидаю, что они будут быстрее других.

вывод:

[ True  True  True]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...