Я решил это, объединив фрейм данных и суммировав его на пандах:
df = pd.merge(df1, df2, how='outer', on='n')
df['sum'] = df['column1'] + df['column2']
df[['n', 'sum']].fillna(0)
результат выглядит так:
n sum
0 5.0 0.0
1 6.0 1.0
2 7.0 1.0
3 8.0 1.0
4 9.0 0.0
5 10.0 0.0