我的数据框中有几列除了数字之外没有命名。在这种情况下,列的编号为50到59.我想用年份标签重命名列,即列50将重命名为' 2006'第51列重命名为' 2007'等等。
我有以下代码重命名列,这有效,但就我需要做多少输入而言似乎过于重复:
GDP.rename(columns={50:'2006', 51:'2007', 52:'2008', 53:'2009',54:'2010', 55:'2011', 56:'2012', 57:'2013', 58:'2014', 59:'2015'}, inplace=True)
有没有办法以较简洁的方式使用.rename()
方法
我觉得我应该能够将[49:60]和一系列年份[2006:2015]的一系列列传递到.rename()
方法中,以达到相同的效果。
答案 0 :(得分:0)
是的,你有几个选择。
选项1
使用词典理解:
GDP.rename(columns={i: str(1956+i) for i in range(50, 60)}, inplace=True)
选项2
使用自定义功能。这可以是匿名lambda
:
GDP.rename(columns=lambda x: str(1956+x) if isinstance(x, int) else x, inplace=True)