如何更改 pandas DataFrame 的最后 7 列的列名? [复制]

Posted

技术标签:

【中文标题】如何更改 pandas DataFrame 的最后 7 列的列名? [复制]【英文标题】:How to change column names of last 7 columns of pandas DataFrame? [duplicate] 【发布时间】:2021-12-30 16:21:46 【问题描述】:

我正在运行一个循环并向现有 DataFrame 添加 7 个新列。在循环的每次迭代之后,我只想更改添加的新列的列名(即最后 7 列)。我尝试过使用以下代码行:

df.columns[len(df.columns)-6:len(df.columns)] = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7']

这行代码不起作用,我收到错误 -

索引不支持可变操作

我在各种网站上查找过,但没有一种方法对我的情况有帮助。我该怎么做才能只更改最后 7 列的名称?

【问题讨论】:

【参考方案1】:

您可以使用df.columns.tolist() 将列复制到列表中,修改列表而不是df.columns 本身,然后将列表分配回df.columns

columns = df.columns.tolist()
columns[len(columns)-6:len(columns)] = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7']
df.columns = columns

【讨论】:

Python 支持负索引,所以columns[-6:] = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7'] 很好。也只是 df.columns.values[-6:] = ['A1', 'A2', 'A3', 'A4', 'A5', 'A6', 'A7'] 有效。

以上是关于如何更改 pandas DataFrame 的最后 7 列的列名? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何更改 Pandas Dataframe 的形状(带有“L”的行号)?

如何获取 pandas DataFrame 的最后 N 行?

pandas.DataFrame:如何使用外部参数 applymap()

Pandas:DataFrame数据的更改插入新增的列和行

在 Pandas DataFrame 中定位第一个和最后一个非 NaN 值

如何修改 pandas DataFrame 中的单元格?