首页 > 解决方案 > Python:通过 map() 函数使用字典重命名行标签?

问题描述

例如,我有一个数据框:

df = pd.DataFrame({'A':[1,2,3],
             'B':[10,20,30],       
             'C':[20,40,60]},
              index=["Row1","Row2","Row3"])

现在的任务是使用 map() 函数和以下字典来更改索引的名称:

d = {"Row1":"FirstRow","Row2":"Secondrow","Row3":"Thirdrow"}

有人可以帮忙吗?我可以用 for 循环来做到这一点,但使用 map-function 我不知道。

标签: pythonpandasdictionary

解决方案


使用Index.map- 如果没有匹配得到NaN

df.index = df.index.map(d)

或者如果不匹配则返回相同的值:

df.index = df.index.to_series().replace(d)

选择:

df = df.rename(d)
#explicit version, thanks Jon Clements
df = df.rename(index=d)

推荐阅读