我有以下两个dataFrames:
a = pd.DataFrame([[1,2, 3],[4,3,6], [np.nan, 2, np.nan]])
0 1 2
0 1.0 2 3.0
1 4.0 3 6.0
2 NaN 2 NaN
和
b = pd.DataFrame([[0,1,3],[5,3,5 ],[np.nan, np.nan, np.nan]])
0 1 2
0 0.0 1.0 3.0
1 5.0 3.0 5.0
2 NaN NaN NaN
a> b的比较结果为:
0 1 2
0 True True False
1 False False True
2 False False False
但是我希望输出看起来像:
0 1 2
0 True True False
1 False False True
2 nan nan nan
的比较2>np.nan
和np.nan>np.nan
都应该导致np.nan
。(或任何其他不同于True和False的随机值)
一切都会有帮助的!
我们需要添加一个 mask
yourdf=a.gt(b).mask(a.isna()|b.isna(),'nan')
Out[153]:
0 1 2
0 True True False
1 False False True
2 nan nan nan
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句