Skip to main content
 首页 » 编程设计

Python 数据帧 : replace or combine selected values into main DataFrame

2025年05月04日21youxin

我有两个 pandas DataFrame,如下所示。它包含字符串和 np.nan 值。 df =

   A    B    C    D    E    F 
0  aaa  abx  fwe  dcs  NaN  gsx 
1  bbb  daf  dxs  fsx  NaN  ewe 
2  ccc  NaN  NaN  NaN  NaN  dfw 
3  ddd  NaN  NaN  asc  NaN  NaN 
4  eee  NaN  NaN  cse  NaN  NaN 
5  fff  NaN  NaN  wer  xer  NaN 

df_result =

   A    C    E    F 
2  sfa  NaN  NaN  wes   
4  web  NaN  NaN  NaN   
5  NaN  wwc  wew  NaN   

我想要的是将整个 df_result DataFrame 复制到具有相应列和索引的 df DataFrame。所以我的输出将是 =

   A    B    C    D    E    F 
0  aaa  abx  fwe  dcs  NaN  gsx 
1  bbb  dxs  fsx  fsx  NaN  ewe 
2  sfa  NaN  NaN  NaN  NaN  wes 
3  wen  NaN  NaN  asc  NaN  NaN 
4  web  NaN  NaN  cse  NaN  NaN 
5  NaN  NaN  wwc  wer  wew  NaN 

所以基本上我想将 df_result 的精确值复制到 df,即使认为那里有像 A:5 这样的 np.nan 值(从 fff 更改为 NaN)。另外,我需要保持列的顺序不变。请让我知道执行此操作的有效方法。谢谢!

请您参考如下方法:

df.update(dfr.fillna('NaN')) 
df.replace('NaN',np.nan) 
Out[501]:  
     A    B    C    D    E    F 
0  aaa  abx  fwe  dcs  NaN  gsx 
1  bbb  daf  dxs  fsx  NaN  ewe 
2  sfa  NaN  NaN  NaN  NaN  wes 
3  ddd  NaN  NaN  asc  NaN  NaN 
4  web  NaN  NaN  cse  NaN  NaN 
5  NaN  NaN  wwc  wer  wew  NaN