Pandas之排序函数sort_values()的实现


Posted in Python onJuly 09, 2019

一、sort_values()函数用途

pandas中的sort_values()函数原理类似于SQL中的order by,可以将数据集依照某个字段中的数据进行排序,该函数即可根据指定列数据也可根据指定行的数据排序。

二、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创建数据框
import numpy as np
import pandas as pd
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)

>>>
 col1 col2 col3
0  A   2   0
1  A   1   1
2  B   9   9
3 NaN   8   4
4  D   7   2
5  C   7   8

依据第一列排序,并将该列空值放在首位

#依据第一列排序,并将该列空值放在首位
print(df.sort_values(by=['col1'],na_position='first'))
>>>
 col1 col2 col3
3 NaN   8   4
0  A   2   0
1  A   1   1
2  B   9   9
5  C   7   8
4  D   7   2

依据第二、三列,数值降序排序

#依据第二、三列,数值降序排序
print(df.sort_values(by=['col2','col3'],ascending=False))
>>>
 col1 col2 col3
2  B   9   9
3 NaN   8   4
5  C   7   8
4  D   7   2
0  A   2   0
1  A   1   1

根据第一列中数值排序,按降序排列,并替换原数据

#根据第一列中数值排序,按降序排列,并替换原数据
df.sort_values(by=['col1'],ascending=False,inplace=True,
           na_position='first')
print(df)
>>>
 col1 col2 col3
3 NaN   8   4
4  D   7   2
5  C   7   8
2  B   9   9
1  A   1   1
0  A   2   0

按照索引值为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))
>>>
  x1 x2 x3
0  1  4  3
1  2  3  2
2  2  2  4
3  3  1  1
  x2 x3 x1
0  4  3  1
1  3  2  2
2  2  4  2
3  1  1  3

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中的descriptor描述器简明使用指南
Jun 02 Python
深入理解python对json的操作总结
Jan 05 Python
python 计算文件的md5值实例
Jan 13 Python
利用Python查看目录中的文件示例详解
Aug 28 Python
在Python中居然可以定义两个同名通参数的函数
Jan 31 Python
Flask框架 CSRF 保护实现方法详解
Oct 30 Python
Python2与Python3的区别点整理
Dec 12 Python
python实现TCP文件传输
Mar 20 Python
VSCode配合pipenv搞定虚拟环境的实现方法
May 17 Python
anaconda3安装及jupyter环境配置全教程
Aug 24 Python
详解python命令提示符窗口下如何运行python脚本
Sep 11 Python
Python编写冷笑话生成器
Apr 20 Python
python爬虫之快速对js内容进行破解
Jul 09 #Python
python 求某条线上特定x值或y值的点坐标方法
Jul 09 #Python
python将字符串转换成json的方法小结
Jul 09 #Python
Python绘制堆叠柱状图的实例
Jul 09 #Python
python3 线性回归验证方法
Jul 09 #Python
python time.sleep()是睡眠线程还是进程
Jul 09 #Python
python logging模块的使用总结
Jul 09 #Python
You might like
PHP 远程关机实现代码
2009/11/10 PHP
解析php中如何直接执行SHELL
2013/06/28 PHP
解析php mysql 事务处理回滚操作(附实例)
2013/08/05 PHP
PHP错误Allowed memory size of 67108864 bytes exhausted的3种解决办法
2014/07/28 PHP
php实现统计二进制中1的个数算法示例
2018/01/23 PHP
JavaScript 基础问答三
2008/12/03 Javascript
jQuery控制iFrame(实例代码)
2013/11/19 Javascript
FireBug 调试JS入门教程 如何调试JS
2013/12/23 Javascript
jQuery动画效果animate和scrollTop结合使用实例
2014/04/02 Javascript
基于replaceChild制作简单的吞噬特效
2015/09/21 Javascript
jQuery Validate设置onkeyup验证的实例代码
2016/12/09 Javascript
Vue.js移动端左滑删除组件的实现代码
2017/09/08 Javascript
JavaScript累加、迭代、穷举、递归等常用算法实例小结
2018/05/08 Javascript
vue使用ElementUI时导航栏默认展开功能的实现
2018/07/04 Javascript
vue上传图片到oss的方法示例(图片带有删除功能)
2018/09/27 Javascript
Nodejs中的require函数的具体使用方法
2019/04/02 NodeJs
JS实现TITLE悬停长久显示效果完整示例
2020/02/11 Javascript
Python用list或dict字段模式读取文件的方法
2017/01/10 Python
python微信跳一跳系列之色块轮廓定位棋盘
2018/02/26 Python
pygame实现简易飞机大战
2018/09/11 Python
python实现基于信息增益的决策树归纳
2018/12/18 Python
Python实现简易过滤删除数字的方法小结
2019/01/09 Python
Python中正则表达式的用法总结
2019/02/22 Python
利用python list完成最简单的DB连接池方法
2019/08/09 Python
Python读取配置文件(config.ini)以及写入配置文件
2020/04/08 Python
Jupyter安装链接aconda实现过程图解
2020/11/02 Python
css3给背景图片加颜色遮罩的方法
2019/11/05 HTML / CSS
WoolOvers爱尔兰:羊绒、羊毛和棉针织品
2017/01/04 全球购物
比利时网上药店: Drogisterij.net
2017/03/17 全球购物
韩国现代百货官网:Hmall
2018/03/21 全球购物
元旦晚会邀请函
2014/01/27 职场文书
函授毕业个人自我评价
2014/02/20 职场文书
音乐教师求职信
2014/06/28 职场文书
2015年“7.11”世界人口日宣传活动方案
2015/05/06 职场文书
工作态度不好检讨书
2015/05/06 职场文书
Vue2.0搭建脚手架
2022/03/13 Vue.js