下記のコードは、エラーが起きません。
# status 1支払い済み 2お渡し済み 絞る order_all=order_data.loc[(order_data['status']==1) | (order_data['status']==2)]
しかし、orにするとエラーになります。
# status 1支払い済み 2お渡し済み 絞る order_all=order_data.loc[(order_data['status']==1) or (order_data['status']==2)]
エラーは、
--------------------------------------------------------------------------- ValueError Traceback (most recent call last) /var/folders/ps/xxgp4_3j0sq5_9pz2s204c080000gn/T/ipykernel_1311/996920767.py in <module> 1 # status 1支払い済み 2お渡し済み 絞る ----> 2 order_all=order_data.loc[(order_data['status']==1) or (order_data['status']==2)] ~/opt/anaconda3/lib/python3.9/site-packages/pandas/core/generic.py in __nonzero__(self) 1535 @final 1536 def __nonzero__(self): -> 1537 raise ValueError( 1538 f"The truth value of a {type(self).__name__} is ambiguous. " 1539 "Use a.empty, a.bool(), a.item(), a.any() or a.all()." ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
です。
and と | の違いは、優先順位の違いでだけと思っていたので、カッコで括っているたので、同じ挙動になると
思っていました。
ご教授いただけると助かります。
よろしくお願いします。
*jupyter labで実行しています。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/01/04 05:45 編集