微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

不要比较缺失值 / NaN 值

如何解决不要比较缺失值 / NaN 值

如何比较两个系列并保留 NaN 值?例如:

s1 = pd.Series([np.nan,1,3])

s2 = pd.Series([0,2,3])

s1.eq(s2).astype(int)

输出

0    0
1    0
2    1
dtype: int64

想要的结果:

0    NaN
1    0.0
2    1.0
dtype: float64

解决方法

如果最后允许浮动,试试这个

s1.eq(s2).mask(s1.isna() | s2.isna())

或者如果你想保留布尔值

s1.eq(s2).mask(s1.isna() | s2.isna()).astype("boolean")

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。