「Python实用秘技07」在pandas中实现自然顺序排序

这是我的系列文章 「Python实用秘技」的第7期,本系列立足于笔者日常工作中使用 Python积累的心得体会,每一期为大家带来一个几分钟内就可学会的简单小技巧。

作为系列第7期,我们即将学习的是: 在pandas中实现自然排序顺序

自然排序顺序( Natural sort order),不同于默认排序针对字符串逐个比较对应位置字符的 ASCII码的方式,它更关注字符串实际相对大小意义的排序,举个常见的例子,假如我们有下面这样的一张表,其中 value字段是百分比格式的字符串:

这时如果直接照常基于 value字段进行排序,得到的结果明显不符合数据实际意义:

而我们今天要介绍的技巧,就需要用到第三方库 natsort,使用 pip install natsort完成安装后,利用其 index_natsorted()对目标字段进行自然顺序排序,再配合 np.argsort()以及 pandassort_values()中的 key参数,就可以通过自定义 lambda函数,实现利用目标字段自然排序顺序进行正确排序的目的:

可以看到,此时得到的排序结果完美符合我们的需求~

更多 natsort知识欢迎前往 https://github.com/SethMMorton/natsort学习更多。

本期分享结束,咱们下回见~👋

Original: https://www.cnblogs.com/feffery/p/16156984.html
Author: 费弗里
Title: 「Python实用秘技07」在pandas中实现自然顺序排序

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/9160/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

免费咨询
免费咨询
扫码关注
扫码关注
联系站长

站长Johngo!

大数据和算法重度研究者!

持续产出大数据、算法、LeetCode干货,以及业界好资源!

2022012703491714

微信来撩,免费咨询:xiaozhu_tec

分享本页
返回顶部