web-dev-qa-db-ja.com

ORの要素ごとの論理Pandas

要素ごとの論理OR演算子が必要です。 「または」自体は私が探しているものではないことを知っています。

ANDは&に対応し、NOT、~に対応することを認識しています。しかし、ORはどうですか?

69
Keith

対応する演算子は|です。

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

値が3未満または5に等しいかどうかを要素ごとにチェックします。


これを行う関数が必要な場合、 np.logical_or があります。 2つの条件に対して、次を使用できます。

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

または、複数の条件に対してlogical_or.reduceを使用し、

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

条件は個別の引数として指定されるため、括弧のグループ化は必要ありません。

pandasを使用した論理演算の詳細については、 here を参照してください。

98
deinonychusaur

2つのシリーズaおよびbの要素ごとの論理ORを取得するには

a | b
8
Jonathan Stray