Gerade jetzt füge ich einen Datenrahmen (df) whos Struktur haben können, indem Sie reproduziert werden:eine Kategorie zu einem Pandas Multiindex Datenrahmen Ebene
d = {('Control', 0, 'mean'): {'Field 1': 1.0},
('Control', 0, 'stErr'): {'Field 1': 0.0},
('Control', 0, 'stdev'): {'Field 1': 0.0},
('Control', 48, 'mean'): {'Field 1': 1.08},
('Control', 48, 'stErr'): {'Field 1': 0.01},
('Control', 48, 'stdev'): {'Field 1': 0.03},
('Test1', 0, 'mean'): {'Field 1': 1.00},
('Test1', 0, 'stErr'): {'Field 1': 0.00},
('Test1', 0, 'stdev'): {'Field 1': 0.00},
('Test1', 48, 'mean'): {'Field 1': 1.08},
('Test1', 48, 'stErr'): {'Field 1': 0.01},
('Test1', 48, 'stdev'): {'Field 1': 0.03}}
df = pd.DataFrame(d).T
ich in die Datenrahmen eine andere Kategorie ‚Verhältnis‘ hinzufügen möchten bei die Ebene, auf der momentan mean, stErr und stdev existieren.
Derzeit sucht der Index wie folgt aus:
df.index()
MultiIndex(levels=[['Control', 'Test1'], [0, 48], ['mean', 'stErr', 'stdev']],
labels=[[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]])
Um zu klären, wo Ich mag würde die Kategorie Verhältnis I der Index des neuen Datenrahmen wie folgt aussehen
df_new.index()
MultiIndex(levels=[['Control', 'Test1'], [0, 48], ['mean', 'stErr', 'stdev', 'ratio']],
labels=[[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1], [0, 0, 0, 1, 1, 1, 0, 0, 0, 1, 1, 1], [0, 1, 2, 0, 1, 2, 0, 1, 2, 0, 1, 2]])
hat 'df.index = df.index.set_levels ([ 'mean', 'Sterr', 'stdev', 'Verhältnis'], level = 2)' tun, was Sie wollen? –
@VictorChubukov, die ungültige Syntax scheint. 'df.index = df .index.set_levels (['mean', 'stErr', 'stdev', 'ratio'], level = 2) ^ SyntaxError: ungültiges Zeichen in Bezeichner' – agf1997
Sie haben ein Extra Raum –