现在我有一个数据帧(DF)卫生组织结构可以通过做被复制:添加类别的大熊猫多指标数据帧的水平
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
我想其他类别的“比”在添加到数据帧当前存在mean,stErr和stdev的级别。
目前该指数看起来是这样的:
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]])
为了澄清,我想补充的类别比我相信新的数据框的指数应该是这样
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]])
不'df.index = df.index.set_levels([ '平均', 'stErr', 'STDEV', '比'],级别= 2)'你想要什么? –
@VictorChubukov,似乎是无效的语法。 'df.index = df .index.set_levels(['mean','stErr','stdev','ratio'],level = 2) ^ SyntaxError:标识符中的无效字符 – agf1997
您有额外的空间 –