Python 熊猫数据帧将一列从最高到最低的双精度排序

Python 熊猫数据帧将一列从最高到最低的双精度排序,python,pandas,dataframe,sorting,Python,Pandas,Dataframe,Sorting,我正在网上搜集NBA的统计数据,希望能够根据得分、助攻和盖帽等统计数据进行排序 我有我的Pandas数据框,它可以正确打印播放器和统计数据,包括按年龄等整数排序,如下所示。 然而,当我尝试按分数排序时,它并没有正确地从最高值到最低值排序,而是从最高初始值排序,比如从9.9到0,尽管很明显,有些玩家每场比赛的分数超过10.0分。 数据帧中存储的数字实际上是字符串吗?因此,字符串的比较导致了这个问题 以下是我正在运行的代码: year = 2021 # URL page we will scra

我正在网上搜集NBA的统计数据,希望能够根据得分、助攻和盖帽等统计数据进行排序

我有我的Pandas数据框,它可以正确打印播放器和统计数据,包括按年龄等整数排序,如下所示。

然而,当我尝试按分数排序时,它并没有正确地从最高值到最低值排序,而是从最高初始值排序,比如从9.9到0,尽管很明显,有些玩家每场比赛的分数超过10.0分。

数据帧中存储的数字实际上是字符串吗?因此,字符串的比较导致了这个问题

以下是我正在运行的代码:

year = 2021
# URL page we will scraping (see image above)
url = "https://www.basketball-reference.com/leagues/NBA_{}_per_game.html".format(year)
# this is the HTML from the given URL

html = urlopen(url)
soup = BeautifulSoup(html, features="html.parser")

table = soup.find_all(class_="full_table")

head = soup.find(class_="thead")
headers_raw = [head.text for item in head][0]

headers = headers_raw.replace("\n", ",").split(",")[2:-1]
players = []

for i in range(len(table)):
    player = []
    for td in table[i].find_all("td"):
        player.append(td.text)

    players.append(player)

stats = pd.DataFrame(players, columns = headers)
sorted_by_points = stats.sort_values('PTS', ascending=False)

是的,听起来好像乐谱是弦乐。您可以使用查看。

是,将
PTS
列转换为浮点数:

stats["PTS"] = pd.to_numeric(stats["PTS"])
sorted_by_points = stats.sort_values(by="PTS", ascending=False)
print(sorted_by_points)
印刷品:

玩家位置年龄Tm G GS MP FG FGA FG%3P 3P%2P 2P 2P%eFG%FT FTA FT%ORB DRB TRB AST STL BLK TO V PF PTS
37布拉德利·比尔SG 27为47 47 35.4 10.9 22.7.483 2.2 6.5.338 8.7 16.2.541.531 7.0 7.9.897 1.2 3.6 4.8 4.8 1.1 0.3 3 3 2.4 31.1
112斯蒂芬·库里32页GSW 49 49 34.0 10.2 20.8.491 5.1 12.0.427 5.1 8.8.579.614 5.5 6.0.922 0.5 5.1 5.6 5.9 1.2 0.1 3.2 1.8 31.0
140 Joel Embiid C 26 PHI 38 38 32.2 9.4 18.2.516 1.2 3.1.379 8.2 15.1.544.548 10.1 11.8.855 2.2 8.9 11.1 3.0 1.0 1 1.4 3.0
286 Damian Lillard PG 30 POR 52 35.9 8.8 20.1.440 4.1 10.8.379 4.8 9.3.510.541 6.9 7.5.925 0.5 3.7 4.2 7 0.9 0.3 3 3.2 1.6 28.7
125 Luka Dončić第21页DAL 51 51 35.1 10.2 20.9.486 3.0 8.3.359 7.2 12.6.569.557 5.3 7.3.727 0.8 7.1 7.9 8.7 1.0 0 0.7 4.3 2.3 28.6
11 Giannis Antetokounmpo PF 26 MIL 47 33.7 10.3 18.3.565 1.1 3.7.299 9.2 14.6.632.595 6.7 9.8.683 1.8 9.5 11.2 6.1 1 1.1 1 1.3 3 3.7 2.7 28.4
276 Zach LaVine SG 25 CHI 53 35.2 9.8 19.4.506 3.4 8.2.416 6.4 11.2.572.594 4.4 5.2.848 0.6 4.5 5.1 5.1 0.8 0.5 3 27.5
236 Kyrie Irving第28页BRK 41 41 35.1 10.4 20.4.511 2.7 7.0.389 7.7 13.5.573.577 3.7 4.0.916 1.1 3.7 4.8 6.1 1 1.3 0.6 2.4 2.7 27.3
134凯文·杜兰特32 BRK 24 22 32.7 9.3 17.1.543 2.5 5.5.462 6.8 11.6.581.617 6.1 7.0.8700.4 6.3 6.7 5.2 0.6 1.3 3 3 2 2.0 27.3
511锡安威廉森PF 20 NOP 52 52 33.1 10.3 16.8.614 0.2 0.6.300 10.1 16.2.625.619 6.0 8.6.699 2.6 4.6 7 7.2 3 0.9 0.7 2 2.6 26.8
335多诺万·米切尔24页UTA 53 53 33.4 9.0 20.6.438 3.4 8.7.386 5.7 11.9.476.520 5.0 6.0.845 0.9 3.5 4 4 5.2 1.0 0 0 0.3 2 2 26.4
253 Nikola JokićC 25 DEN 56 35.2 10.2 18.1.567 1.4 3.422 8.8 14.8.599.605 4.2 4.9.855 2.9 8 8.1 11.0 8 1.5 0.6 3.1 2.7 26.1
458杰森-塔图姆SF 22 BOS 51 35.6 9.4 20.4.462 2.9 7.5.388 6.5 12.9.505.534.2 4.8.873 0.7 6.5 7.1 4.2 1.2 0.4 2 2 2.5 1.8 26.0
282 Kawhi Leonard SF 29 LAC 46 46 34.4 9.4 18.2.516 2.0 5.0.393 7.4 13.2.562.569 5.0 5.7.878 1.1 5.5 6.7 5.1 1 1.7 0.4 2.0 1.7 25.7
57 Devin Booker SG 24 PHO 52 52 33.6 9.3 19.2.485 2.0 5.8.349 7.3 13.3.545.539 4.8 5.6.862 0.4 3.8 4.1 4.5 0.9 0.3 3 3 2.8 25.5
243 LeBron James PG 36 LaL 41 41 41 33.9 9.5 18.4 2.4 2.4 6.5 368 368 7.1。
521 Trae Young PG 22 ATL 52 52 34.3 7.7 17.9.431 2.3 6.5.357 5.4 11.4.472.495 7.7 8.8.871 0.6 3.3 3 3.9.5 0.8 0.2 4 25.4
156德阿龙福克斯23页SAC 56 56 35.2 9.2 19.2.481 1.8 5.5.3237.4 13.6.545.527 5.1 7.1.713 0.6 2.9 3.5 7.2 1.5 0.5 3 3
194詹姆斯·哈登PG-SG 31 TOT 42 42 37.1 8.0 17.2.463 2.8 7.8.358 5.2 9.4.549.544 6.5 7.5.870 0.8 7.2 8.0 10.9 1.2 0.7 4.1 2 25.2
475 Karl Anthony Towns C 25分钟36 36 34.2 8.6 17.6.491 2.4 6.1.395 6.2 11.5.542.560 5.0 5.8.874 2.6 8.2 10.8 4 4.6 0.7 1.4 3.2 3.6 24.7
71 Jaylen Brown SG 24 BOS 52 52 34.1 9.3 18.8.493 2.7 6.8.400 6.6 12.0.546.566 3.3 4.3.754 1.2 4.6 5.8 3.4 1.2 0.6 2 2.7 2 24.6
437 Collin Sexton SG 22第47 47 35.7 8.8 18.4.479 1.6 4.4.367.2 14.0.514.523 4.9 6.0.816 0.8 2.1 2.9 4.1 1 1 0.1 2.6 2
235 Brandon Ingram SF 23 NOP 52 52 34.7 8.5 18.2.466 2.4 6.3.382 6.1 12.0.510.532 4.8 5.4.886 0.6 4.4 5.0 4.8 0.7 0.7 2 2.5 2 2.2
487 Nikola VučevićC 30 TOT 57 57 33.6 9.7 20.1.485 2.6 6.3.417 7.1 13.8.516.550 2.1 2.5.836 2.0 9.3 11.3 3.8 1.0 0 0.7 1.7 1.9 24.1
170 Shai Gilgeous Alexander SG 22 OKC 35 33.7 8.2 16.1.508 2.0 4.9.418 6.2 11.3.547.571 5.3 6.5.808 0.5 4.2 4.7 5.9 0.8 0.7 3.0 2.0 23.7
407 Julius Randle PF 26 NYK 57 37.4 8.4 18.3.461 2.1 5.2.405 6.3 13.1.483.519 4.8 5.9.802 1.3