使用默认值填充数据框熊猫

时间:2020-09-02 14:45:39

标签: python pandas dataframe join merge

我有两个数据帧,每个数据帧中都有许多相同的列标题。

我希望合并两个数据框,但仅在没有可用数据框A的数据时才使用来自数据框B的数据,即数据框B是默认值,如果没有数据是数据框A,则应使用默认值。

数据框A

             A  B  C
01/01/2020   78 45 78
02/01/2020   41 36 51
03/01/2020   81 43 51
04/01/2020   84 NaN NaN
05/01/2020   NaN NaN NaN
.
.
.
.
31/01/2022 NaN NaN NaN

数据框B;

            A  B   C
01/01/2020  40 30 60
02/01/2020  40 30 60
03/01/2020  40 30 60
04/01/2020  40 30 60
.
.
.
.
31/01/2025 40 30 60

示例04/01/2020将显示为

04/01/2020 84 30 60

我做的任何形式的联接/合并似乎都错误地覆盖了值。 任何帮助,不胜感激!

1 个答案:

答案 0 :(得分:1)

假设df1

               A     B     C
date                        
01/01/2020  78.0  45.0  78.0
02/01/2020  41.0  36.0  51.0
03/01/2020  81.0  43.0  51.0
04/01/2020  84.0   NaN   NaN
05/01/2020   NaN   NaN   NaN

df2

             A   B   C
date                  
01/01/2020  40  30  60
02/01/2020  40  30  60
03/01/2020  40  30  60
04/01/2020  40  30  60
05/01/2020  40  30  60

两者均以date作为索引

df3 = df1.fillna(df2)

               A     B     C
date                        
01/01/2020  78.0  45.0  78.0
02/01/2020  41.0  36.0  51.0
03/01/2020  81.0  43.0  51.0
04/01/2020  84.0  30.0  60.0
05/01/2020  40.0  30.0  60.0