Использование значений по умолчанию для заполнения панд фрейма данных

#python #pandas #dataframe #join #merge

#python #pandas #фрейм данных #Присоединиться #слияние

Вопрос:

У меня есть два фрейма данных с несколькими одинаковыми заголовками столбцов в каждом.

Я хочу объединить оба фрейма данных, но использовать данные из фрейма данных B только в том случае, если нет доступных данных — это фрейм данных A, т. Е. Фрейм данных 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:

Предполагать 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