Based on the pandas documentation for query, I do not understand whether it is correct to use and/or or &/| in a query statement with multiple conditions.
Is there a situation when using both bitwise and boolean operators might be necessary? Is there a best practice for when to use which?
The documentation states:
For example, the & and | (bitwise) operators have the precedence of their boolean cousins, and and or, but the practical implications are not clear to me.
I have found accepted answers where users use either bitwise or boolean operators, in this case the answer using query contains and in first case and & in second, getting the same results.
Here is an example where the choice of operator does not change the result:
import numpy as np
import pandas as pd
df = pd.DataFrame(data=np.random.randn(5,2), columns=['A','B'])
df['names'] = list('ABCDE')
query1 = df.query("A > -1 and B < 1 or 'B' in names")
query2 = df.query("A > -1 & B < 1 | 'B' in names")
query1.equals(query2)
Thanks for help.