Dies ist die Fortsetzung von my previous question.Wie übergebe ich Zeilen zu mehreren Spaltengruppen?
Ich habe den Datensatz:
df =
ID GROUP_1 GROUP_2 GROUP_3 COUNT NAME_1 NAME_2
1 AAA AAA CCC 5 xxx yyy
2 BBB CCC AAA 6 yyy zzz
Das Ergebnis sollte dies ein:
new =
ID GROUP COUNT NAME
1 AAA 5 xxx
1 AAA 5 yyy
1 CCC 5 xxx
1 CCC 5 yyy
2 BBB 6 yyy
2 BBB 6 zzz
2 CCC 6 yyy
2 CCC 6 zzz
2 AAA 6 yyy
2 AAA 6 zzz
Ich möchte in Reihe passieren die Werte von GROUP_1, GROUP_2 und GROUP_3 UND NAME_1
und NAME_2
(Wenn man bedenkt, dass die Anzahl der Spalten, die mit GROUP
und NAME
beginnen, groß ist, möchte ich sie nicht manuell aufzählen).
ich zur Zeit die Lösung in meiner vorherigen Frage oben genannten vorgeschlagenen bin mit:
cols = ['ID', 'GROUP', 'COUNT', 'NAME']
df.set_index(['ID', 'COUNT', 'NAME']).stack().reset_index(name='GROUP')[cols]
jedoch das Problem, dass ich das gleiche Verfahren NAME
gelten sollte. Ist es möglich, diese Lösung zu aktualisieren, wenn man berücksichtigt, dass es mehrere Spaltengruppen gibt, die an Zeilen übergeben werden sollen?
Bitte zeigen, was gewünscht wird ausgegeben. –
@DmitryPolonskiy: Bitte sehen Sie mein Update. – Dinosaurius