0
点赞
收藏
分享

微信扫一扫

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"}

## 对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’},

PyPackage01---Pandas03_排序sort_values_参数说明

## 沿着轴方向按指定值排序  
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 于南京建邺区 新城科技园


举报

相关推荐

0 条评论