У меня есть логический массив 3D (5830L, 6447L, 4L)
, который я хочу уменьшить до (5830L, 6447L)
, используя логический оператор OR
для 3-го измерения (4L)
. Поэтому я буду делать поэлементное сравнение 4L
2D массивов. Простой одномерный пример будет выглядеть примерно так:
a = [True, False, True]
b = [False, False, True]
c = [True, False, True]
mask = [any(tup) for tup in zip(a, b, c)]
print mask
'True, False, True'
Размер 3-го измерения может варьироваться, поэтому мне нужно запустить его в цикле for
или запустить его таким образом, чтобы размер 3-го измерения не был жестко запрограммирован, как указано выше.
numpy.logical_or(a, b)
работает хорошо, но только для 2 элементов массива (2L
).
Любой идеал, как это сделать, когда его 3 или более элементов; то есть третье измерение> 2L
?