Her*_*ini 3 python comparison nan dataframe pandas
我有以下两个数据帧:
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
Run Code Online (Sandbox Code Playgroud)
和
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
Run Code Online (Sandbox Code Playgroud)
a>b 的比较结果:
0 1 2
0 True True False
1 False False True
2 False False False
Run Code Online (Sandbox Code Playgroud)
但是,我希望输出如下所示:
0 1 2
0 True True False
1 False False True
2 nan nan nan
Run Code Online (Sandbox Code Playgroud)
的比较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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
54 次 |
| 最近记录: |