python – 如何使用列表重命名pandas中的列

我有一个有44列的数据帧(df),我想重命名列2:44.我有一个长度为42的列表(namesList),它具有新的列名.然后我尝试使用列表重命名我的列:

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

但是我得到错误

TypeError: Index does not support mutable operations

为什么我会收到此错误

解决方法:

您需要生成新的列名称 – 来自旧列的第一个和第二个值以及列表中的另一个值:

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

样品:

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

相关文章

转载:一文讲述Pandas库的数据读取、数据获取、数据拼接、数...
Pandas是一个开源的第三方Python库,从Numpy和Matplotlib的基...
整体流程登录天池在线编程环境导入pandas和xrld操作EXCEL文件...
 一、numpy小结             二、pandas2.1为...
1、时间偏移DateOffset对象DateOffset类似于时间差Timedelta...
1、pandas内置样式空值高亮highlight_null最大最小值高亮背景...