27. Caveats and Gotchas
Caveats and Gotchas
Using If/Truth Statements with pandas
pandas follows the numpy convention of raising an error when you try to convert something to a bool
. This happens in a if
or when using the boolean operations, and
, or
, or not
. It is not clear what the result of
>>> if pd.Series([False, True, False]): ...
should be. Should it be True
because it’s not zero-length? False
because there are False
values? It is unclear, so instead, pandas raises a ValueError
:
>>> if pd.Series([False, True, False]): print("I was true") Traceback ... ValueError: The truth value of an array is ambiguous. Use a.empty, a.any() or a.all().
If you see that, you need to explicitly choose what you want t