Assuming Date is an index, not a column, you can do an βexternalβ join :
df1.join([df2, df3, ..., df7000], how='outer')
Note. It might be more efficient to pass a DataFrames generator rather than a list.
For instance:
df1 = pd.DataFrame([[1, 2]], columns=['a', 'b']) df2 = pd.DataFrame([[3, 4]], index=[1], columns=['c', 'd']) df3 = pd.DataFrame([[5, 6], [7, 8]], columns=['e', 'f']) In [4]: df1.join([df2, df3], how='outer') Out[4]: abcdef 0 1 2 NaN NaN 5 6 1 NaN NaN 3 4 7 8
.
If 'Date' is a column, you can use set_index first:
df1.set_index('Date', inplace=True)
source share