如何使用df.rename?

时间:2018-10-19 02:11:19

标签: python pandas

我正在解决Coursera上的问题。我必须重命名几个行标签。我是python的新手,因此经常无法掌握某些细微差别,因为我相当确定这里的情况。我尝试了如下重命名功能

npm cache clean --force   

但是,数据框没有反映出更改。以下代码返回一个空的数据框。

energy.set_index('Country', inplace=True)
energy.rename(index={'Republic of Korea':'South Korea', 'United States of 
      America':'United States'})

我在这里做错了什么? 谢谢

2 个答案:

答案 0 :(得分:1)

签出docs。你想要的是

energy = energy.rename(index={'Republic of Korea':'South Korea', 
                              'United States of America':'United States'})

energy.rename(index={'Republic of Korea':'South Korea', 
                     'United States of America':'United States'},
              inplace=True)

energy.rename({'Republic of Korea':'South Korea', 
               'United States of America':'United States'},
               axis="index", inplace=True)

由于inplace未设置为True,因此需要存储返回结果。

您也可以做

energy.loc["South Korea"]

这就是拥有索引的重点-这样您就可以使用键来访问行。

答案 1 :(得分:0)

说明:

您的代码运行良好,只是您需要分配回来,例如(或使用熊猫inplace=True):

energy = energy.rename(index={'Republic of Korea':'South Korea', 
                          'United States of America':'United States'})

或者:

energy.rename(index={'Republic of Korea':'South Korea', 
                 'United States of America':'United States'},
          inplace=True)

或者:

energy=energy.rename({'Republic of Korea':'South Korea', 
           'United States of America':'United States'},
           axis="index")

或者:

energy.rename({'Republic of Korea':'South Korea', 
           'United States of America':'United States'},
           axis="index",inplace=True)

请注意,您可以这样做:

energy.loc["South Korea"]

代替:

energy[energy.index=='South Korea']