Могу ли я использовать ~A
для инвертирования массива numpy из булевых, вместо довольно неудобных функций np.logical_and()
и np.invert()
? Действительно, ~
работает нормально, но я не могу найти его в каком-либо справочном руководстве по nympy и - более тревожно - он, конечно же, не работает со скалярами (например, bool(~True)
возвращает True
!), м немного волновался...
Инвертирование буферизированного массива numpy с использованием ~
Ответ 1
короткий ответ: ДА
Ref:
http://docs.scipy.org/doc/numpy/reference/generated/numpy.invert.html
Примечание:
Вычисляет побитовое НЕ базового двоичного представления целых чисел во входных массивах. Этот ufunc реализует оператор C/Python ~.
и
bitwise_not является псевдонимом для инверсии:
>> np.bitwise_not is np.invert
>> True