Могу ли я использовать ~A
для инвертирования массива логических значений вместо довольно неудобных функций np.logical_and()
и np.invert()
? Действительно, ~
работает нормально, но я не могу найти его ни в одном справочном руководстве по nympy, и, что более тревожно, он определенно не работает со скалярами (например, bool(~True)
возвращает True
!), поэтому я немного волнуюсь...
Инвертирование логического массива numpy с использованием ~
comment
См. stackoverflow.com/questions/13600988/
- person NPE   schedule 05.12.2012
comment
Отвечает ли это на ваш вопрос? унарный оператор python tilde как отрицание массива numpy bool
- person AMC   schedule 15.02.2020
Ответы (1)
короткий ответ: ДА
Ссылка:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.invert.html
Уведомление:
Вычисляет побитовое НЕ базового двоичного представления целых чисел во входных массивах. Этот ufunc реализует оператор C/Python ~.
и
bitwise_not — это псевдоним для инвертирования:
>> np.bitwise_not is np.invert
>> True
person
squid
schedule
06.03.2014
Однако будьте осторожны, это не сработает с массивом из 0 и 1! Он будет работать только с массивом логических значений. Если вам нужна такая гибкость, используйте вместо этого numpy.logical_not
- person tvt173; 15.12.2015
@ tvt173 Да,
boolean not
и logic not
всегда разные. И вопрос, и ответ касаются boolean not
. Все равно спасибо, что напомнили.
- person squid; 18.12.2015