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使用wxpython开发简单记事本的方法
May 20 Python
python 根据正则表达式提取指定的内容实例详解
Dec 04 Python
Python列表删除的三种方法代码分享
Oct 31 Python
pip install urllib2不能安装的解决方法
Jun 12 Python
实例讲解Python爬取网页数据
Jul 08 Python
Python从ZabbixAPI获取信息及实现Zabbix-API 监控的方法
Sep 17 Python
python函数参数(必须参数、可变参数、关键字参数)
Aug 16 Python
Python面向对象原理与基础语法详解
Jan 02 Python
Transpose 数组行列转置的限制方式
Feb 11 Python
Python Socket多线程并发原理及实现
Dec 11 Python
python脚本框架webpy模板控制结构
Nov 20 Python
python数据可视化使用pyfinance分析证券收益示例详解
Nov 20 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中根据某年第几天计算出日期年月日的代码
2011/02/24 PHP
用PHP代替JS玩转DOM的思路及示例代码
2014/06/15 PHP
php下pdo的mysql事务处理用法实例
2014/12/27 PHP
WordPress中创建用户角色的相关PHP函数使用详解
2015/12/25 PHP
PHP设置images目录不充许http访问的方法
2016/11/01 PHP
javascript StringBuilder类实现
2008/12/22 Javascript
JavaScript的eval JSON object问题
2009/11/15 Javascript
Javascript延迟执行实现方法(setTimeout)
2010/12/30 Javascript
Javascript selection的兼容性写法介绍
2013/12/20 Javascript
JavaScript在IE和FF下的兼容性问题
2014/05/19 Javascript
JavaScript避免内存泄露及内存管理技巧
2014/09/05 Javascript
nodejs教程之环境安装及运行
2014/11/21 NodeJs
JS动态修改iframe高度和宽度的方法
2015/04/01 Javascript
javascript实现一个简单的弹出窗
2016/02/22 Javascript
Node.js中防止错误导致的进程阻塞的方法
2016/08/11 Javascript
JavaScript中数组Array方法详解
2017/02/27 Javascript
Javascript中的async awai的用法
2017/05/17 Javascript
详解如何在angular2中获取节点
2017/11/23 Javascript
浅谈vue限制文本框输入数字的正确姿势
2019/09/02 Javascript
[05:13]2018DOTA2亚洲邀请赛主赛事第二日战况回顾 LGD、VG双雄携手晋级
2018/04/05 DOTA
[02:51]2018年度DOTA2最佳中单位选手-完美盛典
2018/12/17 DOTA
Python中input和raw_input的一点区别
2014/10/21 Python
Python实现数通设备端口使用情况监控实例
2015/07/15 Python
在Mac OS系统上安装Python的Pillow库的教程
2015/11/20 Python
Linux上安装Python的PIL和Pillow库处理图片的实例教程
2016/06/23 Python
Python计算斗牛游戏概率算法实例分析
2017/09/26 Python
解决Django 在ForeignKey中出现 non-nullable field错误的问题
2019/08/06 Python
django框架F&Q 聚合与分组操作示例
2019/12/12 Python
python装饰器原理与用法深入详解
2019/12/19 Python
如何在mac版pycharm选择python版本
2020/07/21 Python
python中Mako库实例用法
2020/12/31 Python
意大利在线大学图书馆:Libreria universitaria
2019/07/16 全球购物
小学三八妇女节活动方案
2014/03/16 职场文书
校园演讲稿汇总
2014/05/21 职场文书
通知范文怎么写
2015/04/16 职场文书
Python 实现Mac 屏幕截图详解
2021/10/05 Python