dfs = [d1, d2, d3] df_combined = pd.concat( [df.rename(columns=lambda x: x.zfill(4)) for df in dfs], keys=['HEADER TITLE{}'.format(i) for i in range(1, len(dfs) + 1)], axis=1 ) df_combined