在Pandas中使用for循环重命名多个DataFrame列

时间:2017-02-09 20:12:35

标签: python pandas ipython-notebook jupyter-notebook

所以我的Dataframe有大约40列。它们包含(组成)测试分数。列现在命名如下:
学生,日期,分数,分数。1,分数.2一直到分数.39 我们被要求重置列名,以便它们与得分相匹配(将得分更改为得分1,将得分1更改为得分2,将得分2更改为得分3,依此类推)。

我的代码现在看起来像这样:

import pandas as pd
prog = pd.read_excel('File.xlsx')
for c in prog.columns:
    prog[c].rename(columns = lambda x : 'Score_' + x)

不幸的是,这并没有给出我想要的输出。
我希望有人能告诉我如何做到这一点。
提前致谢

1 个答案:

答案 0 :(得分:0)

John Galt在评论中提出了解决方案:cols = df.columns.tolist()df.columns = cols[:2] + ['Score_%i' % i for i in xrange(1, len(cols[2:])+1)]