Python中如何通过map()函数使用字典重命名DataFrame行标签?
实现方法
Pandas的Index对象原生支持map()方法,直接调用即可完成索引的批量映射替换,无需额外写for循环:
import pandas as pd # 初始化示例DataFrame df = pd.DataFrame({'A':[1,2,3], 'B':[10,20,30], 'C':[20,40,60]}, index=["Row1","Row2","Row3"]) # 索引映射字典 d = {"Row1":"FirstRow","Row2":"Secondrow","Row3":"Thirdrow"} # 核心逻辑:调用index的map方法完成替换 df.index = df.index.map(d)
运行后输出df即可看到索引已经替换完成:
A B C FirstRow 1 10 20 Secondrow 2 20 40 Thirdrow 3 30 60
注意事项
如果存在部分索引值不在映射字典的键中,直接使用map(d)会将这部分索引变为NaN,如果需要保留原有索引值,可以改用lambda表达式实现兜底逻辑:
df.index = df.index.map(lambda x: d.get(x, x))
内容的提问来源于stack exchange,提问作者Georgie Baul
相关产品推荐
相关产品推荐

