У меня есть следующий массив:
[[4 9]
[5 4]
...
[2 9]]
Я хочу отфильтровать этот массив arr
таким образом, чтобы у меня были только его элементы, где оба элемента находятся между 0 и 7, и откажитесь от всего остального. До сих пор моим решением было создание массива фильтров, чтобы индексировать его с помощью:
filter_array = ((arr >= 0) & (arr <= 7))
Моя проблема в том, что это возвращает массив той же формы, что и arr
:
[[ True False]
[ True True]
...
[ True False]]
Что я не могу использовать для индексации исходного массива так, как я хочу. Я хочу отбросить всю строку, если какой-либо из элементов не находится между значениями, которые я хочу:
#desired output:
[ False
True
...
False ]
Я хочу решить это способом "numpy -i sh", так как массив довольно большой, поэтому производительность важна. (Я не хочу просто перебирать его с некоторыми циклами for)