无法设置属性 'columns',尝试重命名 df 的列时出错
我有一个数据框,里面有很多列(大约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