hinzufügen Ich möchte ein neues Level zu meinem DF hinzufügen (so dass ich dann pd.reindex
verwenden kann, etwas anderes zu tun). Mein DF hat im Grunde so etwas wie dieses:Level zu Mitte von DF in Pandas
df = pd.DataFrame({('A','a'): [-1,-1,0,10,12],
('A','b'): [0,1,2,3,-1],
('A','c'): [-1,1,0,10,12],
('A','d'): [1,1,2,3,-1],
('B','a'): [-20,-10,0,10,20],
('B','b'): [-200,-100,0,-1,200],
('B','c'): [-20,-10,0,10,20],
('B','d'): [-200,-100,0,100,200]
})
##df
A B
a b c d a b c d
0 -1 0 1 1 -20 -200 -20 -200
1 -1 1 -1 1 -10 -100 -10 -100
2 0 2 0 2 0 0 0 0
3 10 3 10 3 10 -1 10 100
4 12 -1 12 -1 20 200 20 200
Ich möchte Tasten neue Ebene L1
= a
+ b
und L2
= c
+ d
zuzuordnen. Wie mache ich das?
würde der gewünschte Ausgang
##df
A B
L1 L2 L1 L2
a b c d a b c d
0 -1 0 1 1 -20 -200 -20 -200
1 -1 1 -1 1 -10 -100 -10 -100
2 0 2 0 2 0 0 0 0
3 10 3 10 3 10 -1 10 100
4 12 -1 12 -1 20 200 20 200
bearbeitet sein: Ziel ist etwas ähnliches zu erreichen, was in here gefragt wurde. Dies bedeutet, dass einige Zeilen für denselben KEY NA
s haben, abhängig vom Wert anderer Spalten. Zum Beispiel wenn ich filternde Spalten a
und c
von jeweils geprüft wird, ob Spalten b
und d
sind negativ:
##df
A B
L1 L2 L1 L2
a b c d a b c d
0 -1 0 1 1 NA NA NA NA
1 -1 1 -1 1 NA NA NA NA
2 0 2 0 2 0 0 0 0
3 10 3 10 3 NA NA 10 100
4 NA NA NA NA 20 200 20 200
„, so dass dann kann ich pd verwenden .reindex, etwas anderes zu tun ": Vielleicht können wir Ihnen besser helfen, wenn Sie angeben, was Ihr endgültiger Zweck ist. – Wli
Nun, der endgültige Zweck ist sehr ähnlich zu dem, was ich hier gefragt hatte (http://StackOverflow.com/Questions/42246373/Replacing-Values-in-A-2nd-Level-Column-on-Multiindex-df-in -Pandas). Der Unterschied besteht nun darin, dass ich die Spalten "a" und "b" (wie im vorherigen Post) analysieren muss, und das Gleiche für "c" und "d". – Sosi
Ich werde das Arbeitsbeispiel ändern, um diesen Kommentar zu reflektieren – Sosi