4
Ich habe einen Datenrahmen:Stapel alle Ebene eines Multiindex
index = pd.MultiIndex.from_product([['a', 'b'], ['A', 'B'], ['One', 'Two']])
df = pd.DataFrame(np.arange(16).reshape(2, 8), columns=index)
df
Wie stapeln wir alle Ebene der MultiIndex
, ohne zu wissen, wie viele Ebene Spalten.
erwarte ich, dass die Ergebnisse wie folgt aussehen:
0 a A One 0
Two 1
B One 2
Two 3
b A One 4
Two 5
B One 6
Two 7
1 a A One 8
Two 9
B One 10
Two 11
b A One 12
Two 13
B One 14
Two 15
dtype: int64
Ich habe eine if/else auf ' isinstance (df.columns, pd.MultiIndex) '. Ich wusste nichts über nlevels. – piRSquared
Wird 'df.stack (range (df.columns.nlevels))' in Python 3 fehlschlagen? Beachten Sie, dass ich den Aufruf von 'list' entfernt habe. – piRSquared
Ja, es gibt den Fehler 'KeyError: 'Level range (0, 3) not found'' zurück – jezrael