Python 如何使用pandas中的其他值重命名多索引值?
我有一个数据帧多索引:Python 如何使用pandas中的其他值重命名多索引值?,python,pandas,Python,Pandas,我有一个数据帧多索引: 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 您能推荐一种优雅的方式来创建输出吗?使用: 使用: 尊敬的,你总是那么快df.index=df.index.set_levels(df.in
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
您能推荐一种优雅的方式来创建输出吗?使用:
使用:
尊敬的,你总是那么快
df.index=df.index.set_levels(df.index.levels[1]。map({1:'A',2:'B',3:'C',4:'D',level=1)
也在处理itRespect,您总是那么快df.index=df.index.set_levels(df.index.levels[1]。map({1:'A',2:'B',3:'C',4:'D'}),level=1)
也在处理它
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