sort_index 函數(shù)的排序原理
sort_index函數(shù)我們都知道,它能對DataFrame數(shù)據(jù)針對索引進行排列(不管是 行還是 列)。那在對索引進行排序的過程中,它的原理是怎樣的?我們通過下面的幾組測試來總結(jié)一下:
import pandas as pd
obj = pd.Series(range(4), index=['ddddd', 'eaaaa', 'ff', 'ccccccccc'])
>>> obj
ddddd 0
eaaaa 1
ff 2
ccccccccc 3
dtype: int32
>>> obj.sort_index()
ccccccccc 3
ddddd 0
eaaaa 1
ff 2
dtype: int32
從結(jié)果中我們能很容易的總結(jié)出,當索引是字符串類型的索引時,排序規(guī)則會按照英文去排列,以索引字符串的首字母開始進行排列。如果索引字符串的首字母相等,那么就根據(jù)第二個字母的字母表順序進行排列,以此類推。如下面的代碼結(jié)果:
obj = pd.Series(range(4), index=['daddd', 'daaaa', 'ff', 'daccccccc'])
>>> obj.sort_index()
daaaa 1
daccccccc 3
daddd 0
ff 2
dtype: int32
如果索引是數(shù)字類型,那么就更容易理解,就是按照數(shù)字的大小順序排列即可。如果索引中既有數(shù)字又有字符串,那么調(diào)用sort_index函數(shù)會錯,一定要同一種類型才可以。