Елементно логічне АБО в Пандах


Відповіді:


129

Відповідним оператором є |:

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

Оскільки умови вказані як окремі аргументи, групування в дужках не потрібно.

Більше інформації про логічні операції з пандами можна знайти тут .


30
Круглі дужки є важливими
Gerard

4
|і np.logical_orповодяться по-різному в присутності NaN. Дивіться stackoverflow.com/q/37131462/2596586
Френк

Просто коментар: orтут не працює. Тільки |працює.
alanwsx

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.