AttributeError:' list'对象没有属性'重命名'

时间:2016-09-05 12:16:55

标签: python html spyder data-science edx

df.rename(columns={'nan': 'RK', 'PP': 'PLAYER','SH':'TEAM','nan':'GP','nan':'G','nan':'A','nan':'PTS','nan':'+/-','nan':'PIM','nan':'PTS/G','nan':'SOG','nan':'PCT','nan':'GWG','nan':'PPG','nan':'PPA','nan':'SHG','nan':'SHA'}, inplace=True)     

这是我根据http://www.espn.com/nhl/statistics/player/_/stat/points/sort/points/year/2015/seasontype/2

重命名列的代码

我希望这两个表具有相同的列名。我在spyder IDE中使用python2 当我运行上面的代码时,它给了我这个错误:

AttributeError: 'list' object has no attribute 'rename'

2 个答案:

答案 0 :(得分:1)

最初的问题是很久以前发布的,但是我遇到了同样的问题,并在这里找到了解决方法:pd.read_html() imports a list rather than a dataframe

当您执行pd.read_html时,由于网站可能有多个表,因此您正在创建数据帧列表。在尝试重命名之前,再添加一行代码:

dfs = pd.read_html(url, header=0)

,然后df = dfs[0];您将拥有df变量作为数据框,这将允许您运行要在原始问题中尝试运行的df.rename命令。

答案 1 :(得分:-1)

这应该能够修复,df是您的数据集 df.columns = ['a','b','c','d','e','f']