PyPackage01---Pandas03_排序sort_values

1 排序

  按照某一列的大小进行排序。Py3目前提供两个函数。

1.1 sort_index

  这个函数似乎不建议使用了,推荐使用sort_values详情参看:官方文档。

## 参数
sort_index(axis=0, level=None, ascending=True, inplace=False, kind='quicksort', na_position='last', sort_remaining=True, by=None)
#### 参数说明
axis:0按照行名排序;1按照列名排序
level:默认None,否则按照给定的level顺序排列---貌似并不是,文档
ascending:默认True升序排列;False降序排列
inplace:默认False,否则排序之后的数据直接替换原来的数据框
kind:默认quicksort,排序的方法
na_position:缺失值默认排在最后{"first","last"}
by:按照那一列数据进行排序,但是by参数貌似不建议使用
## 对x1列升序排列,x2列升序。处理x1有相同值的情况  
import pandas as pd  
x = pd.DataFrame({"x1":[1,2,2,3],"x2":[4,3,2,1]})  
x.sort_index(by = ["x1","x2"],ascending = [False,True])  
x1 x2
3 3 1
2 2 2
1 2 3
0 1 4

1.2 sort_value

## 参数    
DataFrame.sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')  
#### 参数说明    
axis:{0 or ‘index’, 1 or ‘columns’}, default 0,默认按照索引排序,即纵向排序,如果为1,则是横向排序    
by:str or list of str;如果axis=0,那么by="列名";如果axis=1,那么by="行名";  
ascending:布尔型,True则升序,可以是[True,False],即第一字段升序,第二个降序  
inplace:布尔型,是否用排序后的数据框替换现有的数据框  
kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心  
na_position : {‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面  

PyPackage01---Pandas03_排序sort_values_第1张图片

## 沿着轴方向按指定值排序  
x.sort_values(by="x1",ascending= False)  
x1 x2
3 3 1
1 2 3
2 2 2
0 1 4
## 沿着行方向按指定行排序  
x.sort_values(by = 1,ascending=False,axis=1)
x2 x1
0 4 1
1 3 2
2 2 2
3 1 3

                          2018-06-11 于南京建邺区 新城科技园

你可能感兴趣的:(★★★Python,#,★★Python,Package)