Skip to main content
 首页 » 编程设计

python之将 nan 值从一个数据框复制到另一个数据框

2025年05月04日23xxx_UU

我有两个数据帧 df1 和 df2 具有相同的大小和维度。有没有一种简单的方法可以将 'df1' 中的所有 NaN 值复制到 'df2' ?下面的示例演示了我想要从 .copynans()

获得的输出
In: df1 
Out: 
                   10053802  10053856  10053898  10058054 
2012-07-01 00:00:00     100.0     0.353     0.300     0.326 
2012-07-01 00:30:00     101.0     0.522     0.258     0.304 
2012-07-01 01:00:00     102.0     0.311     0.369     0.228 
2012-07-01 01:30:00     103.0       NaN     0.478     0.247 
2012-07-01 02:00:00     101.0       NaN       NaN     0.259 
2012-07-01 02:30:00     102.0     0.281       NaN     0.239 
2012-07-01 03:00:00     125.0     0.320       NaN     0.217 
2012-07-01 03:30:00     136.0     0.288       NaN     0.283 
 
In: df2 
Out:   
                    10053802  10053856  10053898  10058054 
2012-07-01 00:00:00       1.0        2.0      3.0       4.0 
2012-07-01 00:30:00       1.0        2.0      3.0       4.0 
2012-07-01 01:00:00       1.0        2.0      3.0       4.0 
2012-07-01 01:30:00       1.0        2.0      3.0       4.0 
2012-07-01 02:00:00       1.0        2.0      3.0       4.0 
2012-07-01 02:30:00       1.0        2.0      3.0       4.0 
2012-07-01 03:00:00       1.0        2.0      3.0       4.0 
2012-07-01 03:30:00       1.0        2.0      3.0       4.0 
 
In: df2.copynans(df1) 
Out: 
                     10053802  10053856  10053898  10058054 
2012-07-01 00:00:00       1.0       2.0       3.0       4.0 
2012-07-01 00:30:00       1.0       2.0       3.0       4.0 
2012-07-01 01:00:00       1.0       2.0       3.0       4.0 
2012-07-01 01:30:00       1.0       NaN       3.0       4.0 
2012-07-01 02:00:00       1.0       NaN       NaN       4.0 
2012-07-01 02:30:00       1.0       2.0       NaN       4.0 
2012-07-01 03:00:00       1.0       2.0       NaN       4.0 
2012-07-01 03:30:00       1.0       2.0       NaN       4.0 

请您参考如下方法:

要么

df1.where(df2.notnull()) 

或者

df1.mask(df2.isnull())