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 .

deinonychusaur
źródło
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
11

Aby wziąć element logiczny LUB z dwóch serii ai bpo prostu zrób

a | b
Jonathan Stray
źródło