Pandas之排序函数sort_values()的实现
一、sort_values()函数用途
pandas中的sort_values()函数原理类似于SQL中的orderby,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。
二、sort_values()函数的具体参数
用法:
DataFrame.sort_values(by=‘##',axis=0,ascending=True,inplace=False,na_position=‘last')
参数说明
参数
说明
by
指定列名(axis=0或'index')或索引值(axis=1或'columns')
axis
若axis=0或'index',则按照指定列中数据大小排序;若axis=1或'columns',则按照指定索引中数据大小排序,默认axis=0
ascending
是否按指定列的数组升序排列,默认为True,即升序排列
inplace
是否用排序后的数据集替换原来的数据,默认为False,即不替换
na_position
{‘first',‘last'},设定缺失值的显示位置
三、sort_values用法举例
创建数据框
#利用字典dict创建数据框
importnumpyasnp
importpandasaspd
df=pd.DataFrame({'col1':['A','A','B',np.nan,'D','C'],
'col2':[2,1,9,8,7,7],
'col3':[0,1,9,4,2,8]
})
print(df)
>>>
col1col2col3
0A20
1A11
2B99
3NaN84
4D72
5C78
依据第一列排序,并将该列空值放在首位
#依据第一列排序,并将该列空值放在首位 print(df.sort_values(by=['col1'],na_position='first')) >>> col1col2col3 3NaN84 0A20 1A11 2B99 5C78 4D72
依据第二、三列,数值降序排序
#依据第二、三列,数值降序排序 print(df.sort_values(by=['col2','col3'],ascending=False)) >>> col1col2col3 2B99 3NaN84 5C78 4D72 0A20 1A11
根据第一列中数值排序,按降序排列,并替换原数据
#根据第一列中数值排序,按降序排列,并替换原数据 df.sort_values(by=['col1'],ascending=False,inplace=True, na_position='first') print(df) >>> col1col2col3 3NaN84 4D72 5C78 2B99 1A11 0A20
按照索引值为0的行,即第一行的值来降序排序
x=pd.DataFrame({'x1':[1,2,2,3],'x2':[4,3,2,1],'x3':[3,2,4,1]})
print(x)
#按照索引值为0的行,即第一行的值来降序排序
print(x.sort_values(by=0,ascending=False,axis=1))
>>>
x1x2x3
0143
1232
2224
3311
x2x3x1
0431
1322
2242
3113
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。
热门推荐
10 祝孙辈生日祝福语简短
11 恋人跨年祝福语大全简短
12 考大学敬酒简短祝福语
13 开工投产大吉祝福语 简短
14 偶然结婚祝福语朋友简短
15 感谢学长学姐祝福语简短
16 戏精的祝福语简短
17 我要结婚祝福语简短
18 婚前女儿生日祝福语简短