how to rename columns in pandas using a list

微笑、不失礼 提交于 2020-12-30 08:14:13

问题


I have a dataframe (df) that has 44 columns and I want to rename columns 2:44. I have a list (namesList) of length 42 that has the new column names. I then try to rename my columns by using the list:

df.columns[2:len(df.columns)] = namesList

However I get the error:

TypeError: Index does not support mutable operations

Why do I get this error?


回答1:


You need generate new columns names - first and second value from old one and another from list:

df.columns = df.columns[:2].tolist() + namesList

Sample:

df = pd.DataFrame({'A':[1,2,3],
                   'B':[4,5,6],
                   'C':[7,8,9],
                   'D':[1,3,5],
                   'E':[5,3,6],
                   'F':[7,4,3]})

print (df)
  A  B  C  D  E  F
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3

namesList = ['K','L','M','N']
df.columns = df.columns[:2].tolist() + namesList
print (df)
   A  B  K  L  M  N
0  1  4  7  1  5  7
1  2  5  8  3  3  4
2  3  6  9  5  6  3


来源:https://stackoverflow.com/questions/40454042/how-to-rename-columns-in-pandas-using-a-list

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!