我有一个熊猫DataFrame MultiIndex:
f1 f2 value
2 3 5
3 3 4
4 1 3
4 3
我希望有一个输出将f2替换为:
f value
1 A
2 B
3 C
4 D
所以输出应如下所示:
f1 f2 value
2 C 5
3 C 4
4 A 3
D 3
您能建议一种创建输出的优雅方法吗?
答案 0 :(得分:2)
new = df.index.levels[1].map(df1.set_index('f')['value'])
df.index = df.index.set_levels(new, level=1)
print (df)
value
f1 f2
2 C 5
3 C 4
4 A 3
D 3