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的发展史
Sep 26 Python
tensorflow创建变量以及根据名称查找变量
Mar 10 Python
Python爬虫框架scrapy实现的文件下载功能示例
Aug 04 Python
python如何生成各种随机分布图
Aug 27 Python
用Python实现数据的透视表的方法
Nov 16 Python
pyqt5 comboBox获得下标、文本和事件选中函数的方法
Jun 14 Python
python Event事件、进程池与线程池、协程解析
Oct 25 Python
python3 配置logging日志类的操作
Apr 08 Python
python Pexpect模块的使用
Dec 25 Python
解决pip安装tensorflow中出现的no module named tensorflow.python 问题方法
Feb 20 Python
Python Django搭建文件下载服务器的实现
May 10 Python
如何获取numpy array前N个最大值
May 14 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 pathinfo()获得文件的路径、名称等信息说明
2011/09/13 PHP
关于PHP模板Smarty的初级使用方法以及心得分享
2013/06/21 PHP
Laravel中间件实现原理详解
2016/10/09 PHP
PHP中函数gzuncompress无法使用的解决方法
2017/03/02 PHP
详解thinkphp5+swoole实现异步邮件群发(SMTP方式)
2017/10/13 PHP
Javascript 中的 && 和 || 使用小结
2010/04/25 Javascript
基于jquery的复制网页内容到WORD的实现代码
2011/02/16 Javascript
Extjs gridpanel 出现横向滚动条问题的解决方法
2011/07/04 Javascript
JavaScript 和 Java 的区别浅析
2013/07/31 Javascript
JS实现定时页面弹出类似QQ新闻的提示框
2013/11/07 Javascript
JavaScript的9种继承实现方式归纳
2015/05/18 Javascript
详解JavaScript数组和字符串中去除重复值的方法
2016/03/07 Javascript
AngularJS在IE8的不支持的解决方法
2016/05/13 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
nodejs利用ajax实现网页无刷新上传图片实例代码
2017/06/06 NodeJs
JavaScript中常见的八个陷阱总结
2017/06/28 Javascript
Vue中v-show添加表达式的问题(判断是否显示)
2018/03/26 Javascript
实例详解带参数的 npm script
2019/05/28 Javascript
解决layui弹框失效的问题
2019/09/09 Javascript
vue路由跳转传递参数的方式总结
2020/05/10 Javascript
[03:21]【TI9纪实】Old Boys
2019/08/23 DOTA
python实现在目录中查找指定文件的方法
2014/11/11 Python
Python之Scrapy爬虫框架安装及使用详解
2017/11/16 Python
python中copy()与deepcopy()的区别小结
2018/08/03 Python
Python csv模块使用方法代码实例
2019/08/29 Python
python 图像处理画一个正弦函数代码实例
2019/09/10 Python
python实现tail实时查看服务器日志示例
2019/12/24 Python
sklearn的predict_proba使用说明
2020/06/28 Python
python实现控制台输出颜色
2021/03/02 Python
西班牙自行车和跑步商店:Alltricks
2018/07/07 全球购物
德国内衣、泳装和睡衣网上商店:Bigsize Dessous
2018/07/09 全球购物
社区交通安全实施方案
2014/03/22 职场文书
《最大的麦穗》教学反思
2014/04/17 职场文书
教师群众路线教育实践活动个人对照检查材料
2014/11/04 职场文书
2015小学教师年度考核工作总结
2015/05/12 职场文书
CentOS MySql8 远程连接实战
2022/04/19 MySQL