降序排序结果不正确
我试图根据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
我的猜测是Release子句存储为字符串,因此排序是按字典顺序进行的(Python中的
"€226.5M" < "€9M"
返回True
)。你知道吗尝试将Release子句字段转换为数字(请参见Change data type of columns in Pandas),它应该可以正常工作。你知道吗
相关问题 更多 >
编程相关推荐