循环改变数据帧标题 - python

时间:2018-05-17 18:45:48

标签: python loops for-loop dataframe

我试图遍历数据框的标题并将它们更改为标题的最后一个字符,然后我可以将它们转换为几个月。我想要一个循环,因为我每个月都会获得数据,并且我想让它自动化,所以我不会手动添加标题名称。当我打印标题时,这就是我得到的:

list(df)

['MCA036_LIFETIME_1', 'MCA036_LIFETIME_2', 'MCA036_LIFETIME_3', 'Total']

我想要的标题是:

list(df)

['January','February','March','Total']

非常感谢任何指导。

1 个答案:

答案 0 :(得分:3)

你不需要循环,只需:

df.columns = ['January','February','March','Total']

如果你想自动转换该列表中的字符串,这是一个普遍的Python问题,与pandas无关:

In [141]: all_monthes = ['January', 'February', 'March']

In [142]: l = ['MCA036_LIFETIME_1', 'MCA036_LIFETIME_2', 'MCA036_LIFETIME_3', 'Total']

In [143]: [all_monthes[int(e.split('_')[-1])-1] if e != 'Total' else e for e in l]
Out[143]: ['January', 'February', 'March', 'Total']