Вы хотите outer
слияние.По умолчанию merge
будет использовать перекрывающиеся столбцы в качестве ключей объединения, поэтому в этом случае вам не нужно указывать on='$Date'
dfA.merge(dfB, how='outer')
Вывод:
$Date $AAA $BBB
0 08/09/2017 50.21 142.22
1 09/09/2017 50.25 NaN
2 10/09/2017 50.20 NaN
3 11/09/2017 NaN 142.25
4 12/09/2017 NaN 142.65