Используйте concat
с параметром keys
для MultiIndex
с rename
столбцами:
df = df.set_index('dayofweek')
df1 = df.rename(columns={'A':'B', 'B':'A'}).sort_index(axis=1)
df2 = df.rename(columns={'A':'C', 'C':'A'}).sort_index(axis=1)
df3 = pd.concat([df, df1, df2], keys=('Obj1','Obj2','Obj3'), axis=1)
print (df3)
Obj1 Obj2 Obj3
A B C A B C A B C
dayofweek
Monday 1 2 3 2 1 3 3 2 1
Tuesday 4 5 6 5 4 6 6 5 4
Если есть 3 DataFrames с dayofweek
столбцом, используйте:
dfs = [df, df1, df2]
df3 = pd.concat([x.set_index('dayofweek') for x in dfs], keys=('Obj1','Obj2','Obj3'), axis=1)
print (df3)