2017-07-10 5 views
2

habe ich einen Multiindex Pandas Datenrahmen, die wie dieseumformen ein Multiindex Pandas Dataframe

ID   I     II     III 
METRIC  a b c d a b c d a b c d 
2015-08-01 0 1 2 3 20 21 22 23 40 41 42 43 
2015-08-02 4 5 6 7 24 25 26 27 44 45 46 47 
2015-08-03 8 9 10 11 28 29 30 31 48 49 50 51 

sieht, wo es durch die Tage indiziert ist (2015-08-01, 2015-08-02, 2015-08-03, etc.), die First-Level-Säulen (I , II, III) sind ID s und die Spalten der zweiten Ebene entsprechen METRIC s (a, b, c, d). Ich möchte es

METRIC    a b c d 
ID 
I  2015-08-01 0 1 2 3 
     2015-08-02 4 5 6 7 
     2015-08-03 8 9 10 11 
II  2015-08-01 20 21 22 23 
     2015-08-02 24 25 26 27 
     2015-08-03 28 29 30 31 
III 2015-08-01 40 41 42 43 
     2015-08-02 44 45 46 47 
     2015-08-03 48 49 50 51 

der folgenden neu zu gestalten I (erfolglos) haben in schaute mit .pivot, .stack und .melt, aber sie geben mir nicht das, was ich suche. Ich schleife derzeit über ID s und baue eine Liste von Datenrahmen und concat sie zusammen als ein neues Datarame, um zu bekommen, was ich will.

Alle Vorschläge würden sehr geschätzt werden.

Antwort

4

Lasst uns stack verwenden, swaplevel und sort_index:

df.stack(0).swaplevel(0,1).sort_index() 

Ausgang:

METRIC   a b c d 
ID        
I 2015-08-01 0 1 2 3 
    2015-08-02 4 5 6 7 
    2015-08-03 8 9 10 11 
II 2015-08-01 20 21 22 23 
    2015-08-02 24 25 26 27 
    2015-08-03 28 29 30 31 
III 2015-08-01 40 41 42 43 
    2015-08-02 44 45 46 47 
    2015-08-03 48 49 50 51 
+0

Einfach und klar !! – Wen

+0

@Wen ja ist es :-) – piRSquared

+0

@piRSquared dir auch !!! lerne viel !! upvote – Wen

3

Sie transpose oder T für Sie einen Teil der Arbeit tun lassen können.

df.T.stack().unstack(1) 

METRIC   a b c d 
ID        
I 2015-08-01 0 1 2 3 
    2015-08-02 4 5 6 7 
    2015-08-03 8 9 10 11 
II 2015-08-01 20 21 22 23 
    2015-08-02 24 25 26 27 
    2015-08-03 28 29 30 31 
III 2015-08-01 40 41 42 43 
    2015-08-02 44 45 46 47 
    2015-08-03 48 49 50 51 
+0

Oooh .. Ich benutze gerne T hier! Nett, Herr PiSquared! +1 –

+0

! Upvote für die magische 'T' – Wen

+0

Das ist ein bisschen wie die Matrix ....." ... das ist nicht der Löffel, der biegt. Es ist nur du selbst. " –

Verwandte Themen