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实现批量读取word中表格信息的方法
Jul 30 Python
Python中urllib+urllib2+cookielib模块编写爬虫实战
Jan 20 Python
python递归删除指定目录及其所有内容的方法
Jan 13 Python
Python3解决棋盘覆盖问题的方法示例
Dec 07 Python
人生苦短我用python python如何快速入门?
Mar 12 Python
Python实现类似比特币的加密货币区块链的创建与交易实例
Mar 20 Python
Python实现word2Vec model过程解析
Dec 16 Python
基于virtualenv创建python虚拟环境过程图解
Mar 30 Python
Python环境配置实现pip加速过程解析
Nov 27 Python
Python中BeautifulSoup通过查找Id获取元素信息
Dec 07 Python
详解win10下pytorch-gpu安装以及CUDA详细安装过程
Jan 28 Python
python中random模块详解
Mar 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中的登陆login
2007/01/18 PHP
php使用MySQL保存session会话的方法
2015/06/18 PHP
thinkPHP通用控制器实现方法示例
2017/11/23 PHP
PHP底层运行机制与工作原理详解
2020/07/31 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
javascript[js]获取url参数的代码
2007/10/17 Javascript
THREE.JS入门教程(2)着色器-上
2013/01/24 Javascript
JavaScript中json使用自己总结
2013/08/13 Javascript
jquery.fastLiveFilter.js实现输入自动过滤的方法
2015/08/11 Javascript
node.js路径处理方法以及绝对路径详解
2021/03/04 Javascript
JSON与XML的区别对比及案例应用
2016/11/11 Javascript
Javascript中字符串replace方法的第二个参数探究
2016/12/05 Javascript
详解Vue使用 vue-cli 搭建项目
2017/04/20 Javascript
JS实现点击循环切换显示内容的方法
2017/10/19 Javascript
详解vue 计算属性与方法跟侦听器区别(面试考点)
2018/04/23 Javascript
详解vue添加删除元素的方法
2018/06/30 Javascript
vue新vue-cli3环境配置和模拟json数据的实例
2018/09/19 Javascript
如何在微信小程序里面退出小程序的方法
2019/04/28 Javascript
jQuery操作attr、prop、val()/text()/html()、class属性
2019/05/23 jQuery
原生javascript中this几种常见用法总结
2020/02/24 Javascript
[03:07]DOTA2英雄基础教程 冰霜诅咒极寒幽魂
2013/12/06 DOTA
zookeeper python接口实例详解
2018/01/18 Python
Python OpenCV之图片缩放的实现(cv2.resize)
2019/06/28 Python
python 表格打印代码实例解析
2019/10/12 Python
tensorflow中tf.slice和tf.gather切片函数的使用
2020/01/19 Python
PYcharm 激活方法(推荐)
2020/03/23 Python
html5通过postMessage进行跨域通信的方法
2017/12/04 HTML / CSS
草莓网美国官网:Strawberrynet USA
2016/12/11 全球购物
美国最大的袜子制造商和零售商:Renfro Socks
2017/09/03 全球购物
SQL中where和having的区别
2012/06/17 面试题
服务标兵事迹材料
2014/05/04 职场文书
社区党的群众路线教育实践活动领导班子对照检查材料
2014/09/25 职场文书
党员四风问题对照检查材料
2014/09/27 职场文书
运动会3000米加油稿
2015/07/21 职场文书
微信早安问候语
2015/11/10 职场文书
2019年大学推荐信
2019/06/24 职场文书