首页 > 解决方案 > 不能删除表中的列

问题描述

回到几个月前我搁置的一个项目,我正在审查我的代码,并且在导入数据框时遇到了困难,但由于某种原因,我不能在这里删除某些列,我只需要 4 个他们。

顺便说一句,我是初学者。

所以我试图从这个表中获取数据:

import pandas as pd

import requests

url = 'https://www.hockey-reference.com/leagues/NHL_2022_goalies.html'
html = requests.get(url).content
df_list = pd.read_html(url)
df = df_list[0]
df.droplevel(level=0, axis='columns').filter(['Rk', 'Player', 'SV%', 'QS%'])
print(df)

但我得到了整张桌子。

我在这里做错了什么?

提前非常感谢!

标签: pythondataframedrop

解决方案


只需添加df=到最后一行之前的行,一切都很好。就这个:

import pandas as pd

import requests

url = 'https://www.hockey-reference.com/leagues/NHL_2022_goalies.html'
html = requests.get(url).content
df_list = pd.read_html(url)
df = df_list[0]
df= df.droplevel(level=0, axis='columns').filter(['Rk', 'Player', 'SV%', 'QS%'])
Print(df)

这给出了以下结果:

    Rk              Player   SV%   QS%
0    1          Jake Allen  .905  .800
1    2   Frederik Andersen  .944  .750
2    3      Craig Anderson  .933  .667
3    4    Jonathan Bernier  .911  .500
4    5   Jordan Binnington  .919  .750
..  ..                 ...   ...   ...
63  61      Karel Vejmelka  .900  .333
64  62       Daniel Vladar  .880  .000
65  63     Scott Wedgewood  .852  .000

推荐阅读