gpt4 book ai didi

python - 为什么 `False in pandas.Series([True,True])` 返回 True?

转载 作者:行者123 更新时间:2023-11-28 19:53:45 27 4
gpt4 key购买 nike

False in [True,True]

False in pd.Series([True,True])

第一行代码返回False第二行代码返回 True!

我想我一定是做错了什么或者遗漏了什么。当我检查系列是否为 0 时,我得到了同样的结果。有人可以向我解释一下吗?

最佳答案

您正在检查 0(内部 False 表示)是否在系列的 index - @Uriel has shown a docstring explaining why is it happening 中:

In [286]: False in pd.Series([True,True])
Out[286]: True

等同于:

In [287]: 0 in pd.Series([True,True])
Out[287]: True

In [288]: True in pd.Series([True,True])
Out[288]: True

等同于:

In [290]: 1 in pd.Series([True,True])
Out[290]: True

但是

In [291]: 2 in pd.Series([True,True])
Out[291]: False

因为这个系列没有这样的索引:

In [292]: pd.Series([True,True])
Out[292]:
0 True
1 True
dtype: bool

更新:

如果要检查至少一个系列元素是 False 还是 True:

In [296]: (pd.Series([True, True]) == False).any()
Out[296]: False

In [297]: (pd.Series([True, True]) == True).any()
Out[297]: True

关于python - 为什么 `False in pandas.Series([True,True])` 返回 True?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42684161/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com