pandas中DataFrame和Series对象的排序方法的说明

       pandas中的DataFrame是我们在数据分析时最常用到的一类数据结构,而在数据分析时,对数据进行排序也是经常用的一种操作,因此,本文将针对DataFrame的排序问题进行一个详细的说明。

       对DataFrame对象排序可以分为对索引排序和对值排序。首先看对索引进行排序,利用DataFrame的sort_index()方法,其中有两个参数为axis和ascending,axis可以赋值为0或1,表示指定对哪个轴的索引排序,ascending可以赋值True或False,表示是按升序排序还是按降序排序。具体可看下面的代码,代码中,最初我们构造了一个DataFrame对象df,然后在in[10]输入了对轴1索引进行降序排序的指令,得到的结果可以看到轴1的索引为降序。

pandas中DataFrame和Series对象的排序方法的说明

       然后我们看对值进行排序。对此可以用DataFrame的sort_values()方法(这里需要注意的是,也可以用sort_index(by=)方法,其中by赋值相应的列索引,但是由于这种方法名称是有问题的,在未来的pandas版本中这种对值排序的方法将被舍弃),其中也有两个参数,by和ascending,其中可以给by赋值具体的列索引,表明对那一列或者哪些列进行排序,同样的ascending表示是升序还是降序。具体代码可以看上图的in[12],这里最后加了reste_index()方法,目的是在排序后生成新的index,当然也可以不加,看个人需求而定。

       最后我们来看下Series的排序问题。同样的,Series对象也有对索引排序和对值排序的方法,并且方法都和DataFrame的方法一样,分别为sort_index()和sort_values()。但这里要说明的一点是,以前的版本中Series对值的排序方法是order(),现在已经被舍弃了,改为sort_values()方法了,显然,单纯从方法名称上而言,这样也和DataFrame更为统一和规范。