-1
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'
4

2 回答 2

1

最初的问题是很久以前发布的,但我刚刚遇到同样的问题并在这里找到了解决方案: pd.read_html() 导入列表而不是数据框

当您这样做时,pd.read_html您正在创建一个数据框列表,因为该网站可能有多个表。在尝试重命名之前再添加一行代码:

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

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

于 2019-03-07T22:29:10.910 回答
-2

这应该可以解决,df是你的数据集 df.columns=['a','b','c','d','e','f']

于 2018-07-24T19:10:07.843 回答