1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44
| # 按标签沿轴排序 >>> df.sort_index()
# 默认按“行标签”升序排序,或df.sort_index(axis=0, ascending=True) # df.sort_index(axis=1) #按“列标签”升序排序
# df.sort_index(by = ['b','a'],ascending = [False,True]) # 先按b列“降序”排列,因为b列中有相同值,相同值再按a列的“升序”排列
# 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’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心。 # na_position:缺失值默认排在最后{"first","last"} # by:按照某一列或几列数据进行排序,但是by参数貌似不建议使用
# 既可以根据列数据,也可根据行数据排序 >>> df.sort_values(by='Country')
# 按b列升序排序 # df.sort_values(by='b') #等同于df.sort_values(by='b',axis=0)
# 先按b列降序,再按a列升序排序 # df.sort_values(by=['b','a'],axis=0,ascending=[False,True])
# 按行3升序排列 df.sort_values(by=3,axis=1) #必须指定axis=1
# 按行3升序,行0降排列 # df.sort_values(by=[3,0],axis=1,ascending=[True,False])
# 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则升序,如果by=['列名1','列名2'],则该参数可以是[True, False],即第一字段升序,第二个降序。 # inplace:布尔型,是否用排序后的数据框替换现有的数据框。 # kind:排序方法,{‘quicksort’, ‘mergesort’, ‘heapsort’}, default ‘quicksort’。似乎不用太关心。 # na_position:{‘first’, ‘last’}, default ‘last’,默认缺失值排在最后面。
# 返回从小到大排序的下标 >>> df.rank()
|