熊猫中的sort_values()方法

发布于 2021-01-29 16:03:34

我有以下数据子集,我需要Education按升序对列进行排序;来自0 to 17

在此处输入图片说明

我尝试了以下代码,但未成功。

suicide_data.sort_index(axis=0, kind='mergesort')

也…

suicide_data.Education.sort_values()

和…

suicide_data.sort_values('Education')

这是我得到的错误…

TypeError: '>' not supported between instances of 'float' and 'str'

文档说str可以用sort_values()方法排序。有谁知道如何Education按升序对列进行排序?

关注者
0
被浏览
47
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    看起来Education您的DataFrame列中必须具有混合类型。错误消息告诉您,它无法将字符串
    列中的浮点数进行比较。假设要对值进行数字排序,可以将它们转换为整数类型, 然后再进行
    排序。我建议您还是这样做,因为混合类型对于DataFrame中的任何操作都不会太有用。然后使用DataFrame.sort_values

    suicide_data['Education'] = suicide_data['Education'].astype('int')
    suicide_data.sort_values(by='Education')
    

    值得一提的是,您的第一次尝试,

    suicide_data.sort_index(axis=0, kind='mergesort')
    

    会根据不需要的索引和第二次尝试对DataFrame进行排序

    suicide_data.Education.sort_values()
    

    只会返回排序后的序列-它们是完全无效的方法。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看