python - 如何使用列表重命名 Pandas 中的列

标签 python list pandas rename multiple-columns

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

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

但是我得到了错误:

TypeError: Index does not support mutable operations

为什么会出现此错误?

最佳答案

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

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

关于python - 如何使用列表重命名 Pandas 中的列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40454042/

相关文章:

Python map() 函数遍历 'None' 元素

python - 根据平均值向数据框添加新列

python - 将数量 X 随机分配给 n 个项目

python - 无法应用 CompilerFilter (lessc {infile} {outfile})

python - PySerial 丢失数据

c# - Qt : Find object in list by property

c++ - 数组的内存管理技巧

python - 考虑重叠情况下确定总时间的有效方法

python - 对每一列相关性独立排序并得到索引值

python - 从 GUI 静默运行命令行应用程序