如何自动命名熊猫数据框列?

时间:2020-02-29 01:26:58

标签: python pandas dataframe rename

我有一个带有 102 列的Pandas数据框df。每列的名称都不同,例如A, B, C等,以使原始数据框遵循以下结构

         Column A.    Column B.  Column C.   ....
Row 1.    
Row 2.
---
Row n

我想将列名从A, B, C等更改为F1, F2, F3, ...., F102。我尝试使用df.columns,但以这种方式重命名并没有成功。有什么简单的方法可以自动将所有列名自动重命名为F1 to F102,而不是分别重命名每个列名?

2 个答案:

答案 0 :(得分:3)

remotes/origin/master

注意:

您可以使用计算出的列数(+1)代替“魔术”数master,例如

  • github
  • df.columns=["F"+str(i) for i in range(1, 103)]

(感谢ALollz的评论中的提示。)

答案 1 :(得分:0)

一种方法是将其转换为一对列表,并将列名列表转换为循环索引:

import pandas as pd
d = {'Column A': [1, 2, 3, 4, 5, 4, 3, 2, 1], 'Column B': [1, 2, 3, 4, 5, 4, 3, 2, 1], 'Column c': [1, 2, 3, 4, 5, 4, 3, 2, 1]}
dataFrame = pd.DataFrame(data=d)
cols = list(dataFrame.columns.values)                 #convert original dataframe into a list containing the values for column name
index = 1                                             #start at 1
for column in cols:
    cols[index-1] = "F"+str(index)                    #rename the column name based on index
    index += 1                                             #add one to index
vals = dataFrame.values.tolist()                      #get the values for the rows
newDataFrame = pd.DataFrame(vals,   columns=cols)     #create a new dataframe containing the new column names and values from rows
print(newDataFrame)

输出:

   F1  F2  F3
0   1   1   1
1   2   2   2
2   3   3   3
3   4   4   4
4   5   5   5
5   4   4   4
6   3   3   3
7   2   2   2
8   1   1   1