Вы можете просто создать булеву маску для сравнения, используя метод numpy.array.all :
a1 = pd.DataFrame({'a':[[0], [0,1,2], [3], [4]],
'b':[0, 1000, 2000, 3000]})
a2 = pd.DataFrame({'a':[[0], [0,1,2], [4], [6]],
'b':[0, 1000, 88000, 6000]})
a3 = a1[(a1==a2).values.all(axis=1)]
, который возвращает:
a b
0 [0] 0
1 [0, 1, 2] 1000