I kept getting ValueError: The truth value of a Series is ambiguous. Use a.empty, a.bool(), a.item(), a.any() or a.all().
when trying boolean tests with pandas. Not understanding what it said, I decided to try to figure it out.
However, I am totally confused at this point.
Here I create a dataframe of two variables, with a single data point shared between them (3):
In [75]:
import pandas as pd
df = pd.DataFrame()
df['x'] = [1,2,3]
df['y'] = [3,4,5]
Now I try all(is x less than y), which I translate to "are all the values of x less than y", and I get an answer that doesn't make sense.
In [79]:
if all(df['x'] < df['y']):
print('True')
else:
print('False')
True
Next I try any(is x less than y), which I translate to "is any value of x less than y", and I get another answer that doesn't make sense.
In [77]:
if any(df['x'] < df['y']):
print('True')
else:
print('False')
False
In short: what does any() and all() actually do?
See Question&Answers more detail:
os 与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…