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中xrange和range的区别
May 13 Python
详解Python程序与服务器连接的WSGI接口
Apr 29 Python
Python利用带权重随机数解决抽奖和游戏爆装备问题
Jun 16 Python
Python检测生僻字的实现方法
Oct 23 Python
vscode 远程调试python的方法
Dec 01 Python
对Python的zip函数妙用,旋转矩阵详解
Dec 13 Python
对Python中画图时候的线类型详解
Jul 07 Python
python 将字符串中的数字相加求和的实现
Jul 18 Python
Python函数中的可变长参数详解
Sep 12 Python
Python如何把多个PDF文件合并代码实例
Feb 13 Python
在python中实现求输出1-3+5-7+9-......101的和
Apr 02 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代码解析
2016/06/24 PHP
用HTML/JS/PHP方式实现页面延时跳转的简单实例
2016/07/18 PHP
php中array_fill函数的实例用法
2021/03/02 PHP
让你的PHP,APACHE,NGINX支持大文件上传
2021/03/09 PHP
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
解析URI与URL之间的区别与联系
2013/11/22 Javascript
js父窗口关闭时子窗口随之关闭完美解决方案
2014/04/29 Javascript
jQuery插件PageSlide实现左右侧栏导航菜单
2015/04/12 Javascript
纯js实现手风琴效果
2020/04/17 Javascript
详解nodejs与javascript中的aes加密
2016/05/22 NodeJs
BootStrap实现鼠标悬停下拉列表功能
2017/02/17 Javascript
基于Angular.js实现的触摸滑动动画实例代码
2017/02/19 Javascript
Angular.JS利用ng-disabled属性和ng-model实现禁用button效果
2017/04/05 Javascript
javascript 的变量、作用域和内存问题
2017/04/19 Javascript
Angular.JS中的this指向详解
2017/05/17 Javascript
React Form组件的实现封装杂谈
2018/05/07 Javascript
JavaScript实现简单的隐藏式侧边栏功能示例
2018/08/31 Javascript
webpack4 处理SCSS的方法示例
2018/09/03 Javascript
在JavaScript中实现链式调用的实现
2019/12/24 Javascript
element-ui和vue表单(对话框)验证提示语(残留)清除操作
2020/09/11 Javascript
原生JS生成指定位数的验证码
2020/10/28 Javascript
[05:04]完美世界携手游戏风云打造 卡尔工作室地图界面篇
2013/04/23 DOTA
Python两个整数相除得到浮点数值的方法
2015/03/18 Python
Python实现的破解字符串找茬游戏算法示例
2017/09/25 Python
Python通过OpenCV的findContours获取轮廓并切割实例
2018/01/05 Python
深入理解Python 关于supper 的 用法和原理
2018/02/28 Python
python打包压缩、读取指定目录下的指定类型文件
2018/04/12 Python
python画图系列之个性化显示x轴区段文字的实例
2018/12/13 Python
Python实现多态、协议和鸭子类型的代码详解
2019/05/05 Python
Python startswith()和endswith() 方法原理解析
2020/04/28 Python
python利用Excel读取和存储测试数据完成接口自动化教程
2020/04/30 Python
python对接ihuyi实现短信验证码发送
2020/05/10 Python
Django用内置方法实现简单搜索功能的方法
2020/12/18 Python
教师自我评价范文
2013/12/16 职场文书
离职报告范文
2014/11/04 职场文书
2019最新婚庆对联集锦!
2019/07/10 职场文书