无法设置属性 'columns',尝试重命名 df 的列时出错

-2 投票
2 回答
33 浏览
提问于 2025-04-14 15:59

我有一个数据框,里面有很多列(大约100列),我需要给它们重新命名。所以我做了这个:

import pandas as pd

data.columns = ["ide_ads",  "ide_any",  "ide_sfdsdf"]  #this is a small part of all the fields

然后我收到了这个消息:

AttributeError: can't set attribute 'columns'

没有其他的解释。它说错误出现在第二行。有什么想法吗?谢谢。

2 个回答

0

我注意到你回答了自己的问题。如果你想直接修改原始数据,这里有一个方法:对于 .rename() 这个方法,你可以设置 inplace=True。这样它会直接修改数据表,而不是创建一个新的数据表(参考链接:pandas.DataFrame.rename)。

下面是一个例子

import pandas as pd

data.rename(columns={
    'old_column1': 'new_column1',
    'old_column2': 'new_column2'
}, inplace=True)
0

我已经解决了这个问题。最开始的想法是,如果我有一个叫做 data 的数据框,我可以用 data.columns = [new_name1,new_name2,...] 按顺序来重命名字段,但对我来说这个方法没用。

所以,我最后是通过以下指令解决的:

df = df.rename(columns={'A': 'X', 'B': 'Y'})

这里的 A 和 B 是旧名字,X 和 Y 是新名字。

希望这个方法对你们也有帮助。

非常感谢。

Jose

撰写回答