用python对10个数进行排序

如题所述

sort_values(by, axis=0, ascending=True, inplace=False, kind='quicksort', na_position='last')

by: 可以填入字符串或者字符串组成的列表。也就是说,如果axis=0,那么by="列名";如果axis=1,那么by="行名"。

axis: {0 or ‘index’, 1 or ‘columns’}, default 0,意思就是如果axis=0,就按照索引排序,即纵向排序;如果axis=1,则按列排序,即横向排序。默认是axis=0。

ascending: 输入布尔型,True是升序,False是降序,也可以可以是[True,False],即第一个字段升序,第二个字段降序 。

inplace: 输入布尔型,是否用排序后的数据框替换现有的数据框(这个在之前的文章写过很多次了~)

kind: 排序的方法,{‘quicksort’, ‘mergesort’, ‘heapsort’},默认是使用‘quicksort’。这个参数用的比较少,大家可以试一试。

na_position : {‘first’, ‘last’},缺失值的排序,也就说决定将缺失值放在数据的最前面还是最后面。first是排在前面,last是排在后面,默认是用last。

创建数据表:

scores= pd.DataFrame([[87,56,85],[46,87,97],[34,65,86]],
     columns=['jack', 'rose', 'mike'])
scores

‘rose’这一列进行降序排序:

df_sc=scores.sort_values(by='rose',ascending=False)
df_sc

‘mike’这一列进行升序排序:

df_sc=scores.sort_values(by='mike',ascending=True)
df_sc

对第0行进行升序排序:

scores.sort_values(by=0,axis=1,ascending=True)

我们再尝试对第1行进行升序,第0行进行降序:

scores.sort_values(by=[1,0],axis=1,ascending=[True,False]

温馨提示:答案为网友推荐,仅供参考
相似回答