We read every piece of feedback, and take your input very seriously.
To see all available qualifiers, see our documentation.
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
I have checked that this issue has not already been reported.
I have confirmed this bug exists on the latest version of pandas.
I have confirmed this bug exists on the main branch of pandas.
a = pd.Series( data = [True, True, False], dtype = pd.BooleanDtype() ) b = pd.Series( data = [True, True, False], dtype = "boolean[pyarrow]" ) a & b 0 True 1 True 2 False dtype: boolean b & a
NotImplementedError Traceback (most recent call last) Cell In[209], line 1 ----> 1 b & a File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\ops\common.py:81, in _unpack_zerodim_and_defer..new_method(self, other) 77 return NotImplemented 79 other = item_from_zerodim(other) ---> 81 return method(self, other) File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\arraylike.py:70, in OpsMixin.__and__(self, other) 68 @unpack_zerodim_and_defer("__and__") 69 def __and__(self, other): ---> 70 return self._logical_method(other, operator.and_) File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\series.py:6108, in Series._logical_method(self, other, op) 6105 lvalues = self._values 6106 rvalues = extract_array(other, extract_numpy=True, extract_range=True) -> 6108 res_values = ops.logical_op(lvalues, rvalues, op) 6109 return self._construct_result(res_values, name=res_name) File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\ops\array_ops.py:379, in logical_op(left, right, op) 375 rvalues = right 377 if should_extension_dispatch(lvalues, rvalues): 378 # Call the method on lvalues --> 379 res_values = op(lvalues, rvalues) 381 else: 382 if isinstance(rvalues, np.ndarray): File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\ops\common.py:81, in _unpack_zerodim_and_defer..new_method(self, other) 77 return NotImplemented 79 other = item_from_zerodim(other) ---> 81 return method(self, other) File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\arraylike.py:70, in OpsMixin.__and__(self, other) 68 @unpack_zerodim_and_defer("__and__") 69 def __and__(self, other): ---> 70 return self._logical_method(other, operator.and_) File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\arrays\arrow\array.py:503, in ArrowExtensionArray._logical_method(self, other, op) 502 def _logical_method(self, other, op): --> 503 return self._evaluate_op_method(other, op, ARROW_LOGICAL_FUNCS) File c:\ProgramData\Miniconda3\envs\DLL_ETL\lib\site-packages\pandas\core\arrays\arrow\array.py:497, in ArrowExtensionArray._evaluate_op_method(self, other, op, arrow_funcs) 495 result = pc_func(self._data, pa_scalar) 496 else: --> 497 raise NotImplementedError( 498 f"{op.__name__} not implemented for {type(other)}" 499 ) 500 return type(self)(result)
NotImplementedError: and_ not implemented for
Logical operations don't work in all directions. Issue seems to be pd.BooleanDtype() as it works for
Tested for And / Or
Should work
commit : 478d340 python : 3.10.10.final.0 python-bits : 64 OS : Windows OS-release : 10 Version : 10.0.19042 machine : AMD64 processor : AMD64 Family 23 Model 24 Stepping 1, AuthenticAMD byteorder : little LC_ALL : None LANG : None LOCALE : English_Netherlands.1252
pandas : 2.0.0 numpy : 1.23.5 pytz : 2023.3 dateutil : 2.8.2 setuptools : 67.6.1 pip : 23.0.1 Cython : None pytest : 7.2.2 hypothesis : None sphinx : 6.1.3 blosc : None feather : None xlsxwriter : 3.0.9 lxml.etree : 4.9.2 html5lib : 1.1 pymysql : None psycopg2 : None jinja2 : 3.1.2 IPython : 8.12.0 pandas_datareader: 0.10.0 bs4 : 4.12.1 bottleneck : None brotli : fastparquet : None fsspec : 2023.3.0 gcsfs : None matplotlib : None numba : None numexpr : None odfpy : None openpyxl : 3.1.0 pandas_gbq : None pyarrow : 11.0.0 pyreadstat : None pyxlsb : 1.0.10 s3fs : None scipy : 1.10.1 snappy : None sqlalchemy : None tables : None tabulate : 0.9.0 xarray : None xlrd : 2.0.1 zstandard : 0.19.0 tzdata : 2023.3 qtpy : 2.3.1 pyqt5 : None
The text was updated successfully, but these errors were encountered:
take
Sorry, something went wrong.
atharvaagate
Successfully merging a pull request may close this issue.
Pandas version checks
I have checked that this issue has not already been reported.
I have confirmed this bug exists on the latest version of pandas.
I have confirmed this bug exists on the main branch of pandas.
Reproducible Example
Issue Description
Logical operations don't work in all directions.
Issue seems to be pd.BooleanDtype() as it works for
Tested for And / Or
Expected Behavior
Should work
Installed Versions
INSTALLED VERSIONS
commit : 478d340
python : 3.10.10.final.0
python-bits : 64
OS : Windows
OS-release : 10
Version : 10.0.19042
machine : AMD64
processor : AMD64 Family 23 Model 24 Stepping 1, AuthenticAMD
byteorder : little
LC_ALL : None
LANG : None
LOCALE : English_Netherlands.1252
pandas : 2.0.0
numpy : 1.23.5
pytz : 2023.3
dateutil : 2.8.2
setuptools : 67.6.1
pip : 23.0.1
Cython : None
pytest : 7.2.2
hypothesis : None
sphinx : 6.1.3
blosc : None
feather : None
xlsxwriter : 3.0.9
lxml.etree : 4.9.2
html5lib : 1.1
pymysql : None
psycopg2 : None
jinja2 : 3.1.2
IPython : 8.12.0
pandas_datareader: 0.10.0
bs4 : 4.12.1
bottleneck : None
brotli :
fastparquet : None
fsspec : 2023.3.0
gcsfs : None
matplotlib : None
numba : None
numexpr : None
odfpy : None
openpyxl : 3.1.0
pandas_gbq : None
pyarrow : 11.0.0
pyreadstat : None
pyxlsb : 1.0.10
s3fs : None
scipy : 1.10.1
snappy : None
sqlalchemy : None
tables : None
tabulate : 0.9.0
xarray : None
xlrd : 2.0.1
zstandard : 0.19.0
tzdata : 2023.3
qtpy : 2.3.1
pyqt5 : None
The text was updated successfully, but these errors were encountered: