我有一个带有 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
,而不是分别重命名每个列名?
答案 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