对于一个series对象或DataFrame对象使用sort_index()方法可以按照索引进行排序,默认情况下不改变原数据,而是返回一个新的,排列好的对象
对于数字类型的索引,sort_index()按照他们的大小,默认由小到大进行排序(升序),如果是字符或字符串,那sort_index()会从前到后依次比较字母的大小,比如
frame = pd.DataFrame(np.arange(12).reshape((3, 4)), index=[1, 3, 2], columns=['acree', 'abe', 'bour', 'dights'])
print(frame.sort_index(axis='columns'))
这里让axis='columns'或axis=1让sort_index()对DataFrame对象按照列进行排序这里先比较各个列索引的第一个字母,有两个a,一个b,一个d,相同的再向下比较下一个字母,acree和abe的第二个字母是c和b,因此abe会在acree前面
如果不想要升序想要降序可以把ascending(升序的)的值改为False
print(frame.sort_index(axis='columns', ascending=False))
这个排序对字符串的比较规则和c语言中的strcmp()很类似