At the moment you can freely compare with mixed object dtype column:
>>> ser_string = pd.Series(["a", "b"]) >>> ser_mixed = pd.Series([1, "b"]) >>> ser_string == ser_mixed 0 False 1 True dtype: bool
But with the string dtype enabled (using pyarrow), this now raises an error:
>>> pd.options.future.infer_string = True >>> ser_string = pd.Series(["a", "b"]) >>> ser_mixed = pd.Series([1, "b"]) >>> ser_string == ser_mixed ... File ~/scipy/repos/pandas/pandas/core/arrays/arrow/array.py:510, in ArrowExtensionArray._box_pa_array(cls, value, pa_type, copy) ... --> 510 pa_array = pa.array(value, from_pandas=True) ... ArrowInvalid: Could not convert 'b' with type str: tried to convert to int64
This happens because the ArrowEA tries to convert the other
operand to Arrow as well, which fails for mixed types.
In general, I think our rule is that ==
comparison never fails, but then just gives False for when values are not comparable.
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4