根据具有相同形状的其他 data.frame 中的值替换 data.frame 中的值(Python)

Eti*_*nde 5 python dataframe pandas

我必须使用 data.framesdf1df2完全相同的大小和列名,但不同的值。df2有很多NaNdf1只有少数。我希望每一个NaNdf20,如果有任何价值df1在同一个地方(除了NaN)。
例如:

df1
    a    b   c
0   1    5   NaN
1   2    4   8
2   5    8   5
3   8    8   1
4   7    3   2  
5   NaN  5   1

df2
    a    b   c
0   5    5   NaN
1   NaN  4   8
2   3    8   NaN
3   NaN  NaN 8
4   9    NaN 6  
5   NaN  5   7
Run Code Online (Sandbox Code Playgroud)

结果应该是这样的。

df2
    a    b   c
0   5    5   NaN
1   0    4   8
2   3    8   0
3   0    0   8
4   9    0   6  
5   NaN  5   7
Run Code Online (Sandbox Code Playgroud)

我对 Python 还是个新手,到目前为止找不到解决方案。不成功我试过:

for row in range(len(df1)):
    if df1.iloc[row,1:] >= 0:
        df2[row,1:] == 0 
    elif df1.iloc[row,1:] == '':
        df2.iloc[row,1:] == '' 
Run Code Online (Sandbox Code Playgroud)