Данные
df1 = pd.DataFrame({'a': [1,2,3,4,5,6,7]})
df2 = pd.DataFrame({'a': [3,8,4,9]})
Используйте объединение для получения уникальных строк,
df3 = df2.merge(df1, how='left', indicator=True)
a _merge
0 3 both
1 8 left_only
2 4 both
3 9 left_only
Теперь выберите строки с помощью 'left_only'
,
df3 =df3[df3._merge == 'left_only'].iloc[:,:-1]
Наконец, добавьте их.
df1 = pd.concat([df1, df3], ignore_index=True)