python 的 pandas 库中有一类对数据排序的方法,主要分为对参数列排序,对数值排序,及二者混合三种。
一. 参数列排序
首先我们生成一个乱序数列 unsorted_df
![79aaf6fe6eccf1da9ab6b1b01277e803.png](https://i-blog.csdnimg.cn/blog_migrate/f69cf2bf4e4b114f77ac727699ba8c8e.jpeg)
随后我们可通过 df.sort_index()函数对数据集进行排序操作
如不做规定,返回行参数正序排序
![df70a2138d4b82473224b4bbb37dfa4b.png](https://i-blog.csdnimg.cn/blog_migrate/0d8c323a966d0e524b8f026a9d79e7a1.png)
添加参数 ascending=False 得到行参数逆序排序(ascending 默认 True)
![5a3c867a781a9cc21a00effef332f4e9.png](https://i-blog.csdnimg.cn/blog_migrate/e6c0d82d06bacfbecd7ebcf689d9a9b6.png)
添加参数axis=1 可对列参数进行排序(注意这里one three two 是按字母顺序排序)
![42153ab71a2a8b1e658ff7c7dacf2492.png](https://i-blog.csdnimg.cn/blog_migrate/ccfbd06b60e90ab40f5f6bbe59c8e23c.png)
二. 数值排序
首先我们生成一个乱序数列 df1
![153e4c627612bf8df0c536f2a09e8c8b.png](https://i-blog.csdnimg.cn/blog_migrate/fb8d4b7fdf698f2f1644aa26ebf76ca0.png)
随后我们可通过 df.sort_values()函数对数据集进行排序操作
df1.sort_values(by='two') 返回第二列升序排列
![80848a4127ae486b5c029a8eb813bbbf.png](https://i-blog.csdnimg.cn/blog_migrate/b9811ef3e478f49eeaebb751e5d6f520.png)
也可以对多列进行有优先级的排序操作- df1.sort_values(by=['one','two']) 先排‘one’列,再排‘two’列。
![12be3d7506513e490b11cab9e2d6f1e1.png](https://i-blog.csdnimg.cn/blog_migrate/df4ad36ff3ceeb30e3cd63b14d9ed301.png)
三. 参数,数值混合排序
首先生成一个多级参数数据集 df_multi
![21020e0c16652a5be82caf396adeef79.png](https://i-blog.csdnimg.cn/blog_migrate/c74dd1843f5aeaf7943077ac83f2d2e9.png)
我们可以对其进行如下操作 df_multi.sort_values(by=['second','A'])
![61cce7b1e187c6929c2458dfd564d8c3.png](https://i-blog.csdnimg.cn/blog_migrate/003219ba3aa1e30bb1718cf89931853e.png)