In all seriousness this is an actual problem with numpy/pandas arrays where:

```
Python 3.8.10 (default, Jun  2 2021, 10:49:15) 
[GCC 9.4.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import numpy
>>> numpy.array([1, 2, 3])
array([1, 2, 3])
>>> bool(numpy.array([1, 2, 3]))
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ValueError: The truth value of an array with more than one element is 
ambiguous. Use a.any() or a.all()
>>> bool(numpy.array([]))
<stdin>:1: DeprecationWarning: The truth value of an empty array is ambiguous. 
Returning False, but in future this will result in an error. Use `array.size > 
0` to check that an array is not empty.
False
>>> import pandas
>>> df = pandas.DataFrame()
>>> bool(df)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File 
"/home/graingert/.virtualenvs/redacted/lib/python3.8/site-packages/pandas/core/generic.py",
 line 1537, in __nonzero__
    raise ValueError(
ValueError: The truth value of a DataFrame is ambiguous. Use a.empty, a.bool(), 
a.item(), a.any() or a.all().
```

eg 
https://pandas.pydata.org/pandas-docs/version/1.3.0/user_guide/gotchas.html#using-if-truth-statements-with-pandas
> Should it be True because it’s not zero-length, or False because there are 
> False values? It is unclear, so instead, pandas raises a ValueError:

I'm not sure I believe the author here - I think it's clear. It should be True 
because it's not zero-length.
_______________________________________________
Python-ideas mailing list -- python-ideas@python.org
To unsubscribe send an email to python-ideas-le...@python.org
https://mail.python.org/mailman3/lists/python-ideas.python.org/
Message archived at 
https://mail.python.org/archives/list/python-ideas@python.org/message/P7FA42SYR3DKSVSBAVLIHGSJXO3AT33G/
Code of Conduct: http://python.org/psf/codeofconduct/

Reply via email to