Ich habe diesen Datenrahmen und ich mag Zeilen mit der gleichen ID in eine einzige Zeile transponieren:Ausgabe mit Zeilen in eine einzige Reihe Umwandlung
ID TYPE1 TYPE2 GROUP STARTIME
1 A C Q1 10:25
1 A C Q2 11:00
1 A C Q3 11:30
2 B D Y1 12:00
2 B D Y2 12:30
Das Ergebnis sollte sein:
ID TYPE1 TYPE2 G1 G2 G3 START_G1 START_G2 START_G3
1 A C Q1 Q2 Q3 10:25 11:00 11:30
2 B D Y1 Y2 NaN 12:00 12:30 NaN
Diese mein aktueller Code:
df_transposed = df.pivot_table(index= ['ID','GROUP']).unstack()
df_transposed = df_transposed.sort_index(axis=1, level=1)
df_transposed.columns = ['_'.join((col[0], str(col[1]))) for col in df_transposed]
df_transposed = df_transposed.reset_index(level=0)
df_transposed.head()
Aber Spalten TYPE1
und TYPE2
sind 3 ti wiederholt mes für ID 1 und 2 mal für ID 2. Ich möchte, dass sie eine einzelne Spalte sind, wie im erwarteten Ergebnis gezeigt, weil sie immer den gleichen Wert für die gleiche ID haben. Auch ich Spalten wie GROUP_Q1
, aber ich möchte Group_1
, bekommen Group_2
usw.