【问题标题】:Don't compare missing / NaN values不要比较缺失/NaN 值
【发布时间】:2021-08-06 14:51:28
【问题描述】:

如何比较两个 Series 并保留 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

【问题讨论】:

标签: pandas numpy comparison nan missing-data


【解决方案1】:

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

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

或者如果你想保持布尔值,这个

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-12
    • 1970-01-01
    • 2014-06-09
    • 2014-06-09
    • 2015-09-26
    • 1970-01-01
    • 2017-08-28
    • 2019-04-24
    相关资源
    最近更新 更多