按降序排序数据集的不正确结果

共1个回答, 标签: python pandas

降序排序结果不正确

我试着根据释放条款对这个数据集进行排序,但是它不起作用。它应该向像内马尔或罗纳尔多这样的顶级球员展示高释放条款,但是它显示了一些模糊的

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

Df=pd.read_csv('data.csv ')
Df1 = df [['name' 、 'time' 、 'all' 、 'release claus']]
Df1.sort _ 值 (by = 'release claus',ascending = False,na _ position =' last ')。head ()

预期: 像这样的东西

总体发布条款名称年龄
梅西 31 岁 94 欧元 26 米
C 罗 33 94 €1 M
2 内马尔 Jr 26 92 €228.1 M
3 De Gea 27 91 €6 M
4 K.De Bruyne 27 91 €196.4 M

实际输出:

总体发布条款名称年龄
1526 莱奥马托斯 32 76 欧元 9 米
3457 J.Windass 24 72 欧元 9 米
1419 Vieirinha 32 76 欧元 9 米
2519 页 Mpoku 26 74 欧元 9 米
4779 D.盖革 20 70 欧元 9 米
第1个答案

我的猜测是,Release 子句存储为字符串,因此排序是按词典顺序完成的 ("€226.5M" < "€9M" returns True在 Python 中)。

尝试将 Release 子句字段转换为数字 (请参见更改 Pandas 中列的数据类型它应该可以正常工作。

相关问题

通过随机抽样其他列数据创建新列 如何使用熊猫获得包括每一个组合的计数 如何有效地展开矩阵的值与小块? 如何破坏 Python 对象并释放内存 将具有特殊格式的文本文档转换为熊猫数据框架 用两本字典绘制一只熊猫专栏图