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 相关文章推荐
教你用python3根据关键词爬取百度百科的内容
Aug 18 Python
Python中反射和描述器总结
Sep 23 Python
Python中logging.NullHandler 的使用教程
Nov 29 Python
Python爬虫使用代理IP的实现
Oct 27 Python
线程安全及Python中的GIL原理分析
Oct 29 Python
Python3并发写文件与Python对比
Nov 20 Python
pytorch 自定义卷积核进行卷积操作方式
Dec 30 Python
python pyqtgraph 保存图片到本地的实例
Mar 14 Python
通过实例了解Python异常处理机制底层实现
Jul 23 Python
利用Python如何画一颗心、小人发射爱心
Feb 21 Python
matplotlib阶梯图的实现(step())
Mar 02 Python
Django中的JWT身份验证的实现
May 07 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
Base64在线编码解码实现代码 演示与下载
2011/01/08 PHP
php实现无限级分类(递归方法)
2015/08/06 PHP
基于PHP实现简单的随机抽奖小程序
2016/01/05 PHP
PHP5.5安装PHPRedis扩展及连接测试方法
2017/01/22 PHP
PHP生成指定范围内的N个不重复的随机数
2019/03/18 PHP
php传值和传引用的区别点总结
2019/11/19 PHP
ExtJs 3.1 XmlTreeLoader Example Error
2010/02/09 Javascript
采用call方式实现js继承
2014/05/20 Javascript
Jquery响应回车键直接提交表单操作代码
2014/07/25 Javascript
用Jquery.load载入页面后样式没了页面混乱的解决方法
2014/10/20 Javascript
Javascript验证方法大全
2015/09/21 Javascript
JavaScript判断DIV内容是否为空的方法
2016/01/29 Javascript
用javascript获取任意颜色的更亮或更暗颜色值示例代码
2017/07/21 Javascript
微信小程序动画组件使用解析,类似vue,且更强大
2019/08/01 Javascript
javascript实现贪吃蛇小练习
2020/07/05 Javascript
用Python进行一些简单的自然语言处理的教程
2015/03/31 Python
Windows下实现Python2和Python3两个版共存的方法
2015/06/12 Python
python创建临时文件夹的方法
2015/07/06 Python
Python算法之图的遍历
2017/11/16 Python
NumPy.npy与pandas DataFrame的实例讲解
2018/07/09 Python
Python3爬虫爬取百姓网列表并保存为json功能示例【基于request、lxml和json模块】
2018/12/05 Python
Python对excel文档的操作方法详解
2018/12/10 Python
Python3之字节串bytes与字节数组bytearray的使用详解
2019/08/27 Python
Django REST framework 单元测试实例解析
2019/11/07 Python
canvas像素点操作之视频绿幕抠图
2018/09/11 HTML / CSS
canvas绘制图片drawImage使用方法
2020/09/15 HTML / CSS
JAVA的事件委托机制和垃圾回收机制
2014/09/07 面试题
物流专业大学生求职信范文
2013/10/28 职场文书
幼教个人求职信范文
2013/12/02 职场文书
电子信息专业应届生自荐信
2014/06/04 职场文书
工作批评与自我批评范文
2014/10/16 职场文书
2015教师节师德演讲稿
2015/03/19 职场文书
三好学生主要事迹材料
2015/11/03 职场文书
幼儿教师师德培训心得体会
2016/01/09 职场文书
MySQL8.0 Undo Tablespace管理详解
2022/06/16 MySQL
JS前端使用canvas实现扩展物体类和事件派发
2022/08/05 Javascript