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映射列表实例分析
Jan 26 Python
Python multiprocessing模块中的Pipe管道使用实例
Apr 11 Python
python编程嵌套函数实例代码
Feb 11 Python
windows环境下tensorflow安装过程详解
Mar 30 Python
python实现机器学习之元线性回归
Sep 06 Python
pytorch 输出中间层特征的实例
Aug 17 Python
django商品分类及商品数据建模实例详解
Jan 03 Python
Django 设置admin后台表和App(应用)为中文名的操作方法
May 10 Python
Python如何读写二进制数组数据
Aug 01 Python
python3.7中安装paddleocr及paddlepaddle包的多种方法
Nov 27 Python
使用pandas读取表格数据并进行单行数据拼接的详细教程
Mar 03 Python
python 离散点图画法的实现
Apr 01 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生成html分页列表的代码
2007/03/18 PHP
PHP中操作ini配置文件的方法
2013/04/25 PHP
浅析php插件 Simple HTML DOM 用DOM方式处理HTML
2013/07/01 PHP
PHP7扩展开发之hello word实现方法详解
2018/01/15 PHP
PHP Include文件实例讲解
2019/02/15 PHP
浅谈PHP封装CURL
2019/03/06 PHP
javascript下查找父节点的简单方法
2007/08/13 Javascript
Javascript 更新 JavaScript 数组的 uniq 方法
2008/01/23 Javascript
prototype Element学习笔记(Element篇三)
2008/10/26 Javascript
Jquery 动态添加按钮实现代码
2010/05/06 Javascript
web前端开发也需要日志
2010/12/09 Javascript
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
Three.js源码阅读笔记(物体是如何组织的)
2012/12/27 Javascript
Raphael一个用于在网页中绘制矢量图形的Javascript库
2013/01/08 Javascript
通过JS来动态的修改url,实现对url的增删查改
2014/09/01 Javascript
基于jQuery实现的文字按钮表单特效整理
2014/12/07 Javascript
jQuery菜单插件superfish使用指南
2015/04/21 Javascript
D3.js中data(), enter() 和 exit()的问题详解
2015/08/17 Javascript
基于Javascript实现二级联动菜单效果
2016/03/04 Javascript
js HTML5多图片上传及预览实例解析(不含前端的文件分割)
2016/08/26 Javascript
JavaScript自定义分页样式
2017/01/17 Javascript
Vue 2.0的数据依赖实现原理代码简析
2017/07/10 Javascript
JavaScript设计模式之单例模式简单实例教程
2018/07/02 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
Python监控主机是否存活并以邮件报警
2015/09/22 Python
使用anaconda的pip安装第三方python包的操作步骤
2018/06/11 Python
BP神经网络原理及Python实现代码
2018/12/18 Python
Python 通过截图匹配原图中的位置(opencv)实例
2019/08/27 Python
使用Python刷淘宝喵币(低阶入门版)
2019/10/30 Python
python对Excel按条件进行内容补充(推荐)
2019/11/24 Python
C++面试题:关于链表和指针
2013/06/05 面试题
考试保密承诺书
2014/08/30 职场文书
2014年小学国庆节活动方案
2014/09/16 职场文书
自书遗嘱范文
2015/08/07 职场文书
k-means & DBSCAN 总结
2021/04/27 Python
浅谈Go语言多态的实现与interface使用
2021/06/16 Golang