Отрицание в NumPy
Оператор ~ применяют к логическому
массиву: там, где было True,
станет False, и наоборот.
Форма массива не меняется.
Сначала получим маску «больше 2»,
затем инвертируем её:
import numpy as np
values = np.array([1, 3, 2, 4])
above = values > 2
print(above) # выведет [False True False True]
print(~above) # выведет [ True False True False]
Отрицание удобно, когда нужны элементы, не попавшие под простое условие. Инвертируем проверку на равенство нулю:
import numpy as np
counts = np.array([0, 2, 0, 5])
print(~(counts == 0)) # выведет [False True False True]
Создайте ряд из четырёх чисел,
постройте маску «строго меньше 5»
и выведите маску с противоположными
флагами в каждой ячейке.
Задайте ряд и выведите маску,
где элемент не равен 7.
Создайте логический ряд из четырёх флагов и выведите ряд с обратной истинностью в каждой позиции.