dfs = [df1, df2, df3] dfs = [df.set_index('name') for df in dfs] #if all index are the same this can be left out dfs[0].join(dfs[1:])