不要比较缺失值/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")
如何比较两个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")