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常用知识梳理(必看篇)
Mar 23 Python
Python实现读取邮箱中的邮件功能示例【含文本及附件】
Aug 05 Python
Python实现可设置持续运行时间、线程数及时间间隔的多线程异步post请求功能
Jan 11 Python
PyTorch快速搭建神经网络及其保存提取方法详解
Apr 28 Python
OPENCV去除小连通区域,去除孔洞的实例讲解
Jun 21 Python
[原创]Python入门教程1. 基本运算【四则运算、变量、math模块等】
Oct 28 Python
Python 创建新文件时避免覆盖已有的同名文件的解决方法
Nov 16 Python
Python生成指定数量的优惠码实操内容
Jun 18 Python
python使用 zip 同时迭代多个序列示例
Jul 06 Python
在Django model中设置多个字段联合唯一约束的实例
Jul 17 Python
Django如何使用jwt获取用户信息
Apr 21 Python
Python Merge函数原理及用法解析
Sep 16 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
mysql时区问题
2008/03/26 PHP
php计算2个日期的差值函数分享
2015/02/02 PHP
Jquery下判断Id是否存在的代码
2011/01/06 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
js字符串转成JSON
2013/11/07 Javascript
Hammer.js+轮播原理实现简洁的滑屏功能
2016/02/02 Javascript
jQuery实现可以编辑的表格实例详解【附demo源码下载】
2016/07/09 Javascript
详解js中的apply与call的用法
2016/07/30 Javascript
JS基于递归实现倒计时效果的方法
2016/11/26 Javascript
微信小程序数据存储与取值详解
2018/01/30 Javascript
详解项目升级到vue-cli3的正确姿势
2019/01/28 Javascript
Node.js 多进程处理CPU密集任务的实现
2019/05/26 Javascript
发布订阅模式在vue中的实际运用实例详解
2019/06/09 Javascript
vue页面切换项目实现转场动画的方法
2019/11/12 Javascript
微信小程序聊天功能的示例代码
2020/01/13 Javascript
微信小程序搜索框样式并实现跳转到搜索页面(小程序搜索功能)
2020/03/10 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
原生js拖拽功能制作滑动条实例代码
2021/02/05 Javascript
Python中变量交换的例子
2014/08/25 Python
Python实现截屏的函数
2015/07/26 Python
玩转python爬虫之URLError异常处理
2016/02/17 Python
python脚本实现数据导出excel格式的简单方法(推荐)
2016/12/30 Python
Python+Socket实现基于TCP协议的客户与服务端中文自动回复聊天功能示例
2017/08/31 Python
78行Python代码实现现微信撤回消息功能
2018/07/26 Python
对python3中pathlib库的Path类的使用详解
2018/10/14 Python
Django之PopUp的具体实现方法
2019/08/31 Python
python实现大学人员管理系统
2019/10/25 Python
会计自我鉴定
2013/11/02 职场文书
本科生导师推荐信范文
2014/05/18 职场文书
分公司总经理岗位职责
2014/08/03 职场文书
党员教师四风问题整改措施思想汇报
2014/10/08 职场文书
社区党风廉政建设调研报告
2015/01/01 职场文书
小学三八妇女节活动总结
2015/02/06 职场文书
css实现两栏布局,左侧固定宽,右侧自适应的多种方法
2021/08/07 HTML / CSS
Python绘制散乱的点构成的图的方法
2022/04/21 Python
SQL试题 使用窗口函数选出连续3天登录的用户
2022/04/24 Oracle