geformt Ich habe zwei identisch geformte Pandas Datenrahmen:Merge identisch Datenrahmen in einem Multiindex Datenrahmen
index = range(5)
columns = ['A', 'B', 'C']
left = pd.DataFrame(np.random.randint(1,10, size=(5,3)), index=index, columns=columns)
right = pd.DataFrame(np.random.randint(1,10, size=(5,3)), index=index, columns=columns)
Nämlich
left
Out[127]:
A B C
0 3 4 7
1 5 8 4
2 8 8 7
3 1 3 5
4 3 5 8
und
right
Out[129]:
A B C
0 2 8 2
1 3 6 5
2 4 6 4
3 8 4 2
4 4 2 9
Nun würde Ich mag sie kombinieren, in ein einzelner Datenrahmen mit demselben Index und zwei Spaltenebenen. Auf den Oberseite der gemeinsamen Spaltennamen und auf der Unterseite des ursprünglichen Datenrahmen Namen:
combined = pd.DataFrame(np.nan, index=index, columns=pd.MultiIndex.from_tuples([('A', 'left'), ('A', 'right'), ('B', 'left'), ('B', 'right'), ('C', 'left'), ('C', 'right')]))
for column in combined.columns:
if column[1] == 'left':
combined[column] = left[column[0]]
elif column[1] == 'right':
combined[column] = right[column[0]]
combined
Out[138]:
A B C
left right left right left right
0 3 2 4 8 7 2
1 5 3 8 6 4 5
2 8 4 8 6 7 4
3 1 8 3 4 5 2
4 3 4 5 2 8 9
Da der Datenrahmen Ich bin der Umgang mit massiver ist, gibt es einen schnellen oder eleganten Weg, um dies zu erreichen?
Vielen Dank im Voraus!
Es kann das so einfach sein? Super – Dark
Danke, es ist genau das, was ich gesucht habe! –
Kühl. Schön, dass es für dich funktioniert! – Psidom