web-dev-qa-db-fra.com

Elément-sage logique OR dans Pandas

Je voudrais que l'élément logique de OR opérateur. Je sais que "ou" n'est pas ce que je recherche.

Je suis conscient que ET correspond à & et pas, ~. Mais qu'en est-il de OU?

69
Keith

L'opérateur correspondant est |:

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

vérifierait élément par élément si la valeur est inférieure à 3 ou égale à 5.


Si vous avez besoin d’une fonction pour faire cela, nous avons np.logical_or . Pour deux conditions, vous pouvez utiliser

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

Ou, pour plusieurs conditions, utilisez le logical_or.reduce,

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

Comme les conditions sont spécifiées en tant qu'arguments individuels, le regroupement des parenthèses n'est pas nécessaire.

Plus d'informations sur les opérations logiques avec pandas peuvent être trouvées ici .

98
deinonychusaur

Pour prendre la logique élémentaire OR de deux séries a et b, faites simplement

a | b
8
Jonathan Stray