You should be able to use join
, which joins on the index as default. Given your desired result, you must use outer
as the join type.
>>> df1.join(df2, how='outer') V1 V2 A 1/1/2012 12 15 2/1/2012 14 NaN 3/1/2012 NaN 21 B 1/1/2012 15 24 2/1/2012 8 9 C 1/1/2012 17 NaN 2/1/2012 9 NaN D 1/1/2012 NaN 7 2/1/2012 NaN 16
Signature: _.join(other, on=None, how=’left’, lsuffix=”, rsuffix=”, sort=False) Docstring: Join columns with other DataFrame either on index or on a key column. Efficiently Join multiple DataFrame objects by index at once by passing a list.