Подтвердить что ты не робот

Элементарный логический ИЛИ в Pandas

Я хотел бы поэлементный логический оператор ИЛИ. Я знаю "или" само по себе не то, что я ищу.

Я знаю, что AND соответствует & и NOT, ~. Но как насчет ИЛИ?

4b9b3361

Ответ 1

Соответствующий оператор | :

 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])]

Поскольку условия указываются в качестве отдельных аргументов, группировка скобок не требуется.

Более подробную информацию о логических операциях с пандами можно найти здесь.

Ответ 2

Чтобы взять элементарный логический ИЛИ двух рядов a и b, просто выполните

a | b

Ответ 3

Если вам нужна функция для этого, у нас есть np.logical_or. Для двух условий вы можете использовать

df[np.logical_or(df<3, df==5)]

Или, для нескольких условий, используйте logical_or.reduce,

df[np.logical_or.reduce([df<3, df==5])]

Поскольку условия указываются в качестве отдельных аргументов, группировка скобок не требуется.

Более подробную информацию о логических операциях с пандами можно найти здесь.