为什么当 Python“None 或 True”返回 True 时,pandas“None | True”返回 False?

问题描述

在纯 Python 中,None or True 返回 True
但是,当我在包含 None 值的两个系列之间执行 | 时,使用熊猫时,结果与我预期的不一样:

>>> df.to_dict()
{'buybox': {0: None},'buybox_y': {0: True}}
>>> df
    buybox  buybox_y
0   None    True

>>> df['buybox'] = (df['buybox'] | df['buybox_y'])
>>> df
    buybox  buybox_y
0   False   True

预期结果:

>>> df
    buybox  buybox_y
0   True    True

我通过两次应用 OR 操作得到了我想要的结果,但我不明白为什么要这样做。

我不是在寻找解决方法(我通过连续应用 df['buybox'] = (df['buybox'] | df['buybox_y']) 获得它)而是一个解释,即标题中的“为什么”。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)