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 相关文章推荐
Django验证码的生成与使用示例
May 20 Python
python 数据的清理行为实例详解
Jul 12 Python
使用python itchat包爬取微信好友头像形成矩形头像集的方法
Feb 21 Python
Python之lambda匿名函数及map和filter的用法
Mar 05 Python
详解python--模拟轮盘抽奖游戏
Apr 12 Python
wxPython绘图模块wxPyPlot实现数据可视化
Nov 19 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
Dec 11 Python
dpn网络的pytorch实现方式
Jan 14 Python
Python socket连接中的粘包、精确传输问题实例分析
Mar 24 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
Jun 04 Python
Jupyter notebook命令和编辑模式常用快捷键汇总
Nov 17 Python
Python中tqdm的使用和例子
Sep 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
NT IIS下用ODBC连接数据库
2006/10/09 PHP
WordPress中使主题支持小工具以及添加插件启用函数
2015/12/22 PHP
Javascript学习笔记7 原型链的原理
2010/01/11 Javascript
转义字符(\)对JavaScript中JSON.parse的影响概述
2013/07/17 Javascript
ExtJS如何设置与获取radio控件的选取状态
2014/01/22 Javascript
Jquery插件分享之气泡形提示控件grumble.js
2014/05/20 Javascript
Jquery插件实现点击获取验证码后60秒内禁止重新获取
2015/03/13 Javascript
JQuery解析XML数据的几个简单实例
2016/05/18 Javascript
前端程序员必须知道的高性能Javascript知识
2016/08/24 Javascript
jquery.validate表单验证插件使用详解
2017/06/21 jQuery
vue项目中添加单元测试的方法
2018/07/21 Javascript
JS实现电商商品展示放大镜特效
2020/01/07 Javascript
vue打开其他项目页面并传入数据详解
2020/11/25 Vue.js
[06:37]2014DOTA2国际邀请赛 昔日王者渴望重回巅峰
2014/07/12 DOTA
浅谈python中对于json写入txt文件的编码问题
2018/06/07 Python
python多行字符串拼接使用小括号的方法
2020/03/19 Python
如何通过Python实现标签云算法
2019/07/02 Python
python判断无向图环是否存在的示例
2019/11/22 Python
python如何获取apk的packagename和activity
2020/01/10 Python
Debenhams爱尔兰:英国知名的百货公司
2017/01/02 全球购物
英国在线珠宝店:The Jewel Hut
2017/03/20 全球购物
世界排名第一的万圣节服装店:Spirit Halloween
2018/10/16 全球购物
某/etc/fstab文件中的某行如下: /dev/had5 /mnt/dosdata msdos defaults,usrquota 1 2 请解释其含义
2013/04/11 面试题
初中物理教学反思
2014/01/14 职场文书
学校春季防火方案
2014/06/08 职场文书
2014年安全生产责任书
2014/07/22 职场文书
岗位职责说明书模板
2014/07/30 职场文书
新闻人物通讯稿
2014/10/09 职场文书
习总书记三严三实学习心得体会
2014/10/13 职场文书
优秀少先队员事迹材料
2014/12/24 职场文书
社区文明创建工作总结2015
2015/04/21 职场文书
2015年安全员工作总结范文
2015/04/22 职场文书
Golang二维数组的使用方式
2021/05/28 Golang
图文详解Nginx版本平滑升级方案
2021/09/15 Servers
基于angular实现树形二级表格
2021/10/16 Javascript
Nginx配置之禁止指定IP访问
2022/05/02 Servers