Если я правильно читаю вопрос, вам нужно:
B[~B.index.isin(A.index)]
Например:
In [192]: A
Out[192]:
Empty DataFrame
Columns: []
Index: [1, 2, 4, 5]
In [193]: B
Out[193]:
Empty DataFrame
Columns: []
Index: [1, 2, 3, 4, 5]
In [194]: B[~B.index.isin(A.index)]
Out[194]:
Empty DataFrame
Columns: []
Index: [3]
Использовать данные из A
, когда они есть, ив противном случае возьмите его из B
, затем вы можете сделать
pd.concat([A, B[~B.index.isin(A.index)]).sort_index()
или, предположив, что A
не содержит нулевых элементов, которые вы хотите сохранить, вы можете выбрать другой подход и пойти на что-то вроде
pd.DataFrame(A, index=B.index).fillna(B)