Pandas数据排序

.sort_index() 在指定轴上根据索引进行排序,索引排序后内容会跟随排序

b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b

b.sort_index()
b.sort_index(ascending=False)
b.sort_index(axis=0, ascending=False) #按行标排序,ascending:False为降序
b.sort_index(axis=1, ascending=False) #按列标排序

 

.sort_values() 在指定轴上根据数值进行排序,默认升序

  • Series.sort_values(axis=0,ascending=True)
  • DataFrame.sort_values(by,axis=0,ascending=True)
    • by:axis轴上的某个索引或索引列表
dates = pd.date_range('20130101',periods=10)
dates
df = pd.DataFrame(np.random.randn(10,4),index=dates,columns=['A','B','C','D'])
df

c = df.sort_values('B')
c = df.sort_values('B',ascending = False)
c

c = df.sort_values('2013-01-01',axis=1,ascending=False) #指定1轴排序,这里指定1轴a行为基准排序
c

 


NaN空值统一放在排序末尾

a = pd.DataFrame(np.arange(12).reshape(3,4),index=['a','b','c'])
a
b = pd.DataFrame(np.arange(20).reshape(4,5),index=['c','a','d','b'])
b

c = a + b
c

c.sort_values(2,ascending = False)
c.sort_values(2,ascending = True)