循环以更改数据帧标题-python

循环以更改数据帧标题-python,python,loops,for-loop,dataframe,Python,Loops,For Loop,Dataframe,我试图循环遍历数据帧的标题,并将其更改为标题的最后一个字符,以便将其转换为月份。我想要一个循环,因为我每个月都会得到数据,我想让它自动化,所以我不需要手动添加标题名。当我打印标题时,我得到的是: list(df) ['MCA036_LIFETIME_1', 'MCA036_LIFETIME_2', 'MCA036_LIFETIME_3', 'Total'] 我希望标题是: list(df) ['January','February','March','Total'] 任何指导都将不胜感激

我试图循环遍历数据帧的标题,并将其更改为标题的最后一个字符,以便将其转换为月份。我想要一个循环,因为我每个月都会得到数据,我想让它自动化,所以我不需要手动添加标题名。当我打印标题时,我得到的是:

list(df)

['MCA036_LIFETIME_1', 'MCA036_LIFETIME_2', 'MCA036_LIFETIME_3', 'Total']
我希望标题是:

list(df)

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

任何指导都将不胜感激。

您不需要循环,只需:

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']

您不需要循环,只需:

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']

我想循环的原因是,当我收集了更多个月的数据时,我可以应用它。@MichaelRyan请参见编辑。这只是一个列表理解。我想循环的原因是,当我收集更多的月数据时,我可以应用它。@MichaelRyan请参见编辑。这只是一个列表。