在纯 Python 中,None or True
返回True
.
但是,当我在两个包含 None 值的 Series 之间进行操作时,使用 pandas 时|
,结果与我预期的不同:
>>> 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'])
连续应用两次来获得它),而是在寻找解释,因此是标题中的“为什么”。