Pandas Don';t比较缺少的/NaN值
如何比较两个系列并保留NaN值?例如:Pandas Don';t比较缺少的/NaN值,pandas,numpy,comparison,nan,missing-data,Pandas,Numpy,Comparison,Nan,Missing Data,如何比较两个系列并保留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 = 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")
如果保留NaN,则False和True将变为浮点0/1。除非你用这个:@MarkWang很好。我会试着重写我的问题。