Мне нужен поэлементный логический оператор ИЛИ. Я знаю, что само по себе «или» - это не то, что я ищу.
Я знаю , что и соответствует &
и NOT, ~
. Но как насчет ИЛИ?
Ответы:
Соответствующий оператор |
:
df[(df < 3) | (df == 5)]
будет поэлементно проверять, меньше ли значение 3 или равно 5.
Если вам нужна функция для этого, у нас есть np.logical_or
. Для двух условий вы можете использовать
df[np.logical_or(df<3, df==5)]
Или, несколько условий использования logical_or.reduce
,
df[np.logical_or.reduce([df<3, df==5])]
Поскольку условия указываются как отдельные аргументы, группировка скобок не требуется.
Более подробную информацию о логических операциях с пандами можно найти здесь .
or
здесь не работает. Только |
работает.
Взять поэлементное логическое ИЛИ двух серий a
и b
просто сделать
a | b