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装饰器验证配置文件示例
Feb 24 Python
python使用smtplib模块通过gmail实现邮件发送的方法
May 08 Python
python实现的用于搜索文件并进行内容替换的类实例
Jun 28 Python
使用rst2pdf实现将sphinx生成PDF
Jun 07 Python
python的mysqldb安装步骤详解
Aug 14 Python
python实现泊松图像融合
Jul 26 Python
Django xadmin开启搜索功能的实现
Nov 15 Python
python PIL/cv2/base64相互转换实例
Jan 09 Python
Python sql注入 过滤字符串的非法字符实例
Apr 03 Python
python3 使用openpyxl将mysql数据写入xlsx的操作
May 15 Python
Python 将代码转换为可执行文件脱离python环境运行(步骤详解)
Jan 25 Python
opencv-python图像配准(匹配和叠加)的实现
Jun 23 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下检测字符串是否是utf8编码的代码
2008/06/28 PHP
php self,$this,const,static,->的使用
2009/10/22 PHP
PHP echo()函数讲解
2019/02/15 PHP
PHP实现发送微博消息功能完整示例
2019/12/04 PHP
有关PHP 中 config.m4 的探索
2020/08/26 PHP
js不完美解决click和dblclick事件冲突问题
2012/07/16 Javascript
JS实现点击图片在当前页面放大并可关闭的漂亮效果
2013/10/18 Javascript
判断某个字符在一个字符串中是否存在的js代码
2014/02/28 Javascript
JS+CSS实现的经典圆角下拉菜单效果代码
2015/10/21 Javascript
jQuery的内容过滤选择器学习教程
2016/04/18 Javascript
EXT中单击button按钮grid添加一行(光标位置可设置)的实例代码
2016/06/02 Javascript
javascript之IE版本检测超简单方法
2016/08/20 Javascript
浅谈JavaScript 函数参数传递到底是值传递还是引用传递
2016/08/23 Javascript
JS扩展类,克隆对象与混合类实例分析
2016/11/26 Javascript
jquery实现数字输入框
2017/02/22 Javascript
vue-hook-form使用详解
2017/04/07 Javascript
js实现带进度条提示的多视频上传功能
2020/12/13 Javascript
Vue ElementUI之Form表单验证遇到的问题
2017/08/21 Javascript
Bootstrap modal只加载一次数据的解决办法(推荐)
2017/11/24 Javascript
详解.vue文件解析的实现
2018/06/11 Javascript
webpack4之SplitChunksPlugin使用指南
2018/06/12 Javascript
Vue分页器实现原理详解
2019/06/28 Javascript
vue限制输入框只能输入8位整数和2位小数的代码
2019/11/06 Javascript
解决vue请求接口第一次成功,第二次失败问题
2020/09/08 Javascript
在vue中使用image-webpack-loader实例
2020/11/12 Javascript
Python基于动态规划算法计算单词距离
2015/07/25 Python
详解Python字符串对象的实现
2015/12/24 Python
Django使用paginator插件实现翻页功能的实例
2018/10/24 Python
selenium在执行phantomjs的API并获取执行结果的方法
2018/12/17 Python
python如何制作缩略图
2019/04/30 Python
python获取系统内存占用信息的实例方法
2020/07/17 Python
举例详解CSS3中的Transition
2015/07/15 HTML / CSS
厂办主管岗位职责范本
2014/02/28 职场文书
擅自离岗检讨书
2014/09/12 职场文书
接收函格式
2015/01/30 职场文书
新娘父亲婚礼致辞
2015/07/27 职场文书