Element logiczne logiczne OR w Pandach


Odpowiedzi:


129

Odpowiednim operatorem jest |:

 df[(df < 3) | (df == 5)]

elementwise sprawdziłby, czy wartość jest mniejsza niż 3 lub równa 5.


Jeśli potrzebujesz do tego funkcji, mamy np.logical_or. W przypadku dwóch warunków możesz użyć

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

Lub w przypadku wielu warunków użyj logical_or.reduce,

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

Ponieważ warunki są określone jako indywidualne argumenty, grupowanie w nawiasach nie jest potrzebne.

Więcej informacji na temat operacji logicznych z pandami można znaleźć tutaj .


30
Okrągłe nawiasy ważne
Gerard

4
|i np.logical_orzachowują się inaczej w obecności NaN. Zobacz stackoverflow.com/q/37131462/2596586
Frank,

Tylko komentarz: ortu nie działa. Tylko |działa.
alanwsx

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.