-
-
Notifications
You must be signed in to change notification settings - Fork 19k
Open
@jbrockmendel
Description
# from #60234 OP ser1 = pd.Series([False, False]) ser2 = pd.Series([0.0, 0.1]) ser1 | ser2 # <- works by casting floats to bool ser2 | ser1 # <- raises TypeError # We also have special-casing for NaNs among floats ser3 = pd.Series([np.nan, 1.0]) ser3 & ser3 # <- raises bc you can't do float & float ser3[:-1] & ser3[:-1] # has no non-NaN floats so we special-case
logical ops (&, |, ^) have inconsistent behavior. I think we should simplify this significantly and more closely resemble the numpy behavior.