如何使用列表重命名熊猫中的列

Kev*_*Sun 5 python rename list multiple-columns pandas

我有一个具有44列的数据框(df),我想重命名2:44列。我有一个长度为42的列表(namesList),其中包含新的列名。然后,我尝试使用列表重命名我的列:

df.columns[2:len(df.columns)] = namesList
Run Code Online (Sandbox Code Playgroud)

但是我得到了错误:

TypeError:索引不支持可变操作

为什么会出现此错误?

jez*_*ael 9

您需要生成新的列名称-旧的第一个和第二个值,而另一个则来自list

df.columns = df.columns[:2].tolist() + namesList
Run Code Online (Sandbox Code Playgroud)

样品:

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
Run Code Online (Sandbox Code Playgroud)