如何更改 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()