Chciałbym mieć logiczny operator OR oparty na elementach. Wiem, że samo „lub” nie jest tym, czego szukam.
Zdaję sobie sprawę, że i odpowiada &, a nie ~. Ale co z OR?
Odpowiedzi:
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 .
ortu nie działa. Tylko |działa.
Aby wziąć element logiczny LUB z dwóch serii ai bpo prostu zrób
a | b