You are viewing a plain text version of this content. The canonical link for it is here.
Posted to jira@arrow.apache.org by "Sergey Mozharov (Jira)" <ji...@apache.org> on 2021/05/08 00:32:00 UTC
[jira] [Created] (ARROW-12695) bool value of scalars depends on
data type
Sergey Mozharov created ARROW-12695:
---------------------------------------
Summary: bool value of scalars depends on data type
Key: ARROW-12695
URL: https://issues.apache.org/jira/browse/ARROW-12695
Project: Apache Arrow
Issue Type: Bug
Components: Python
Affects Versions: 4.0.0
Environment: Windows 10
python 3.9.4
Reporter: Sergey Mozharov
`pyarrow.Scalar` and its subclasses do not implement `__bool__` method. The default implementation does not seem to do the right thing. For example:
{code:java}
>>> import pyarrow as pa
>>> na_value = pa.scalar(None, type=pa.int32())
>>> bool(na_value)
True
>>> na_value = pa.scalar(None, type=pa.struct([('a', pa.int32())]))
>>> bool(na_value)
False
>>> bool(pa.scalar(None, type=pa.list_(pa.int32())))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "pyarrow\scalar.pxi", line 572, in pyarrow.lib.ListScalar.__len__
TypeError: object of type 'NoneType' has no len()
>>>
{code}
Please consider implementing `__bool__` method. It seems reasonable to delegate to the `__bool__` method of the wrapped object.
--
This message was sent by Atlassian Jira
(v8.3.4#803005)