False in [True,True]
False in pd.Series([True,True])
the first line of code returns False the second line of code returns True!
I think I must
You are checking whether 0
(internal False
representation) is in the Series's index - @Uriel has shown a docstring explaining why is it happening:
In [286]: False in pd.Series([True,True])
Out[286]: True
is the same as:
In [287]: 0 in pd.Series([True,True])
Out[287]: True
and
In [288]: True in pd.Series([True,True])
Out[288]: True
is the same as:
In [290]: 1 in pd.Series([True,True])
Out[290]: True
but
In [291]: 2 in pd.Series([True,True])
Out[291]: False
because there is no such index in this series:
In [292]: pd.Series([True,True])
Out[292]:
0 True
1 True
dtype: bool
UPDATE:
if you want to check whether at least one series element is False or True:
In [296]: (pd.Series([True, True]) == False).any()
Out[296]: False
In [297]: (pd.Series([True, True]) == True).any()
Out[297]: True