降序排列数据集导致不正确的结果

2024-10-01 09:25:22 发布

您现在位置:Python中文网/ 问答频道 /正文

降序排序结果不正确

我试图根据release子句对这个数据集进行排序,但没有工作。它本应向内马尔或罗纳尔多这样的顶级球员展示高解约条款,但却显示出一些模糊的结果。你知道吗

数据集-https://www.kaggle.com/karangadiya/fifa19/downloads/fifa19.zip/4

df=pd.read_csv('data.csv')
df1=df[['Name','Age','Overall','Release Clause']]
df1.sort_values(by='Release Clause',ascending=False,na_position='last').head()

你知道吗预期:类似这个

    Name                Age Overall Release Clause
0   L. Messi            31  94      €226.5M
1   Cristiano Ronaldo   33  94      €127.1M
2   Neymar Jr           26  92      €228.1M
3   De Gea              27  91      €138.6M
4   K. De Bruyne        27  91      €196.4M

实际输出:

        Name        Age Overall Release Clause
1526    Léo Matos   32  76      €9M
3457    J. Windass  24  72      €9M
1419    Vieirinha   32  76      €9M
2519    P. Mpoku    26  74      €9M
4779    D. Geiger   20  70      €9M

Tags: csv数据namedfagerelease排序clause
1条回答
网友
1楼 · 发布于 2024-10-01 09:25:22

我的猜测是Release子句存储为字符串,因此排序是按字典顺序进行的(Python中的"€226.5M" < "€9M"返回True)。你知道吗

尝试将Release子句字段转换为数字(请参见Change data type of columns in Pandas),它应该可以正常工作。你知道吗

相关问题 更多 >