不要比较缺失值/NaN 值

Don't compare missing / NaN values

如何比较两个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

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

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

或者如果你想保留布尔值,这就是这个

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