pandas中鲜为人知的隐藏排序技巧
自然排序顺序(Natural sort order),不同于默认排序针对字符串逐个比较对应位置字符的ASCII
码的方式,它更关注字符串实际相对大小意义的排序,举个常见的例子,假如我们有下面这样的一张表,其中value
字段是百分比格式的字符串:
这时如果直接照常基于value
字段进行排序,得到的结果明显不符合数据实际意义:
而我们今天要介绍的技巧,就需要用到第三方库natsort
,使用pip install natsort
完成安装后,利用其index_natsorted()
对目标字段进行自然顺序排序,再配合np.argsort()
以及pandas
的sort_values()
中的key
参数,就可以通过自定义lambda
函数,实现利用目标字段自然排序顺序进行正确排序的目的:
可以看到,此时得到的排序结果完美符合我们的需求~
更多natsort
知识欢迎前往https://github.com/SethMMorton/natsort
学习更多。
本期分享结束,咱们下回见~👋
我们的文章到此就结束啦~记得点赞
如何找到我:
评论