python pandas 组内排序、单组排序、标号的实例


Posted in Python onApril 12, 2018

摘要:本文主要是讲解一下,如何进行排序。分为两种情况,不分组进行排序和组内进行排序。什么意思呢?具体来说,我举个栗子。

****注意****

如果只是单纯想对某一列进行排序,而不进行打序号的话直接使用.sort_values就可以了。下文是关于如何把序号也打上的

————————————————————————————

我们有一个数据集如下:

python pandas 组内排序、单组排序、标号的实例

我们下面想进行两种排序。先说第一种比较简单的也是很常用的,简单的对某一列进行排序然后添加一列序号。

例如,我们队comment_num这一列进行从大到小的排序,然后给出序号。如下图:

python pandas 组内排序、单组排序、标号的实例

可以看到,sort_num这一列就是我们队comment_num的排序。

如何实现呢?很简单,代码如下(数据集为data):

data['sort_num']=data['comment_num'].rank(ascending=0,method='dense')

这里,我们用到了两个参数,第一个很好理解 ascending,就是选择是升序还是降序排列。

另外一个参数method,这个参数很重要。我下面详细讲一下。

有时候,我们排序的时候会遇到相同大小,这个时候怎么处理呢?method其实就是让我们选择如何处理。

有以下几种处理方案:

第一种情况,如果出现相等,则序号一样,之后序号照常递增。这种情况就是上图的,我们看到comment_num等于4的有2个,序号为1。comment_num等于3的时候,序号为2,这个叫做正常按1依次递增。这和时候method='dense'

第二种情况,如果出现相等,则取最先出现的值序号为“最小”,其他相同值依次按1递增,如果把上面代码method='first',就是实现这种效果,效果如下图:

data['sort_num']=data['comment_num'].rank(ascending=0,method='first')

python pandas 组内排序、单组排序、标号的实例

comment_num中,4最大,并且第1行中的4最先出现,故序号为1。

第三种情况和第四种情况比较复杂。文字不好说明,下面直接放代码和效果。

当method='min'时

data['sort_num']=data['comment_num'].rank(ascending=0,method='min')

python pandas 组内排序、单组排序、标号的实例

当method='max'时

data['sort_num']=data['comment_num'].rank(ascending=0,method='max')

python pandas 组内排序、单组排序、标号的实例

--------------------------------分割线--------------------------------------

上面只是某一列的排序,下面是组内排序。什么是意思?同样看下面的例子

python pandas 组内排序、单组排序、标号的实例

假如,我想对cate为7的comment_num进行排序,同样也对,cate为8的comment_num进行排序。也就是说,对comment_num排序的时候,只考虑相同的cate,这个就是对组内进行排序。

实现的效果应该如下图:

python pandas 组内排序、单组排序、标号的实例

实现代码也很简单。

data['group_sort']=data['comment_num'].groupby(data['cate']).rank(ascending=0,method='dense')

以上这篇python pandas 组内排序、单组排序、标号的实例就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python如何实现守护进程的方法示例
Feb 08 Python
Python魔法方法功能与用法简介
Apr 04 Python
浅析Windows 嵌入python解释器的过程
Jul 26 Python
Python中调用其他程序的方式详解
Aug 06 Python
python 用 xlwings 库 生成图表的操作方法
Dec 22 Python
matlab 计算灰度图像的一阶矩,二阶矩,三阶矩实例
Apr 22 Python
python中def是做什么的
Jun 10 Python
Python闭包及装饰器运行原理解析
Jun 17 Python
Python logging日志库空间不足问题解决
Sep 14 Python
Python 创建守护进程的示例
Sep 29 Python
Python+OpenCV图像处理——打印图片属性、设置存储路径、调用摄像头
Oct 22 Python
Python使用Kubernetes API访问集群
May 30 Python
Python实现简单http服务器
Apr 12 #Python
Python实现一个服务器监听多个客户端请求
Apr 12 #Python
python使用socket创建tcp服务器和客户端
Apr 12 #Python
Python简单实现两个任意字符串乘积的方法示例
Apr 12 #Python
Java与Python两大幸存者谁更胜一筹呢
Apr 12 #Python
python打包压缩、读取指定目录下的指定类型文件
Apr 12 #Python
pandas全表查询定位某个值所在行列的方法
Apr 12 #Python
You might like
Windows下的PHP5.0安装配制详解
2006/09/05 PHP
php实现的支持imagemagick及gd库两种处理的缩略图生成类
2014/09/23 PHP
php随机取mysql记录方法小结
2014/12/27 PHP
简易js代码实现计算器操作
2013/04/15 Javascript
js Array操作的最简短最容易理解方法
2013/12/09 Javascript
jquery实现在页面加载完毕后获取图片高度或宽度
2014/06/16 Javascript
javascript中为某个元素指定事件的三种方式
2014/08/07 Javascript
node.js中的console.time方法使用说明
2014/12/09 Javascript
js实现拖拽效果
2015/02/12 Javascript
js获取表格的行数和列数的方法
2015/10/23 Javascript
ionic组件ion-tabs选项卡切换效果实例
2016/08/27 Javascript
jQuery判断邮箱格式对错实例代码讲解
2017/04/12 jQuery
详解React Native开源时间日期选择器组件(react-native-datetime)
2017/09/13 Javascript
jQuery滑动效果实现方法分析
2018/09/05 jQuery
es6数据变更同步到视图层的方法
2019/03/04 Javascript
JavaScript ES 模块的使用
2020/11/12 Javascript
浅析Python中的getattr(),setattr(),delattr(),hasattr()
2016/06/14 Python
Python生成任意范围任意精度的随机数方法
2018/04/09 Python
Scrapy基于selenium结合爬取淘宝的实例讲解
2018/06/13 Python
在python中按照特定顺序访问字典的方法详解
2018/12/14 Python
jupyter notebook读取/导出文件/图片实例
2020/04/16 Python
python实例化对象的具体方法
2020/06/17 Python
利用Vscode进行Python开发环境配置的步骤
2020/06/22 Python
python 5个顶级异步框架推荐
2020/09/09 Python
Python json解析库jsonpath原理及使用示例
2020/11/25 Python
AHAVA美国官方网站:死海海泥护肤品牌
2016/10/18 全球购物
MADE法国:提供原创设计师家具
2018/09/18 全球购物
DC Shoes澳大利亚官方网上商店:购买DC鞋子
2019/10/25 全球购物
数据库测试通常都包括哪些方面
2015/11/30 面试题
便利店投资的创业计划书
2014/01/12 职场文书
体育教学随笔感言
2014/02/24 职场文书
人事专员的岗位职责
2014/03/01 职场文书
奖励通知
2015/04/22 职场文书
爱心捐助活动总结
2015/05/09 职场文书
python爬虫之利用selenium模块自动登录CSDN
2021/04/22 Python
我的收音机情缘
2022/04/05 无线电