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 相关文章推荐
python3实现抓取网页资源的 N 种方法
May 02 Python
Python简单计算给定某一年的某一天是星期几示例
Jun 27 Python
Linux下Pycharm、Anaconda环境配置及使用踩坑
Dec 19 Python
python字符串查找函数的用法详解
Jul 08 Python
python time.sleep()是睡眠线程还是进程
Jul 09 Python
通过实例了解python property属性
Nov 01 Python
python路径的写法及目录的获取方式
Dec 26 Python
python输出第n个默尼森数的实现示例
Mar 08 Python
Python使用jupyter notebook查看ipynb文件过程解析
Jun 02 Python
numpy中生成随机数的几种常用函数(小结)
Aug 18 Python
pytorch常用数据类型所占字节数对照表一览
May 17 Python
一文搞懂python异常处理、模块与包
Jun 26 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
怎样给PHP源代码加密?PHP二进制加密与解密的解决办法
2013/04/22 PHP
php判断字符串在另一个字符串位置的方法
2014/02/27 PHP
php数组合并array_merge()函数使用注意事项
2014/06/19 PHP
完美的2个php检测字符串是否是utf-8编码函数分享
2014/07/28 PHP
PHP+JS实现的商品秒杀倒计时用法示例
2016/11/15 PHP
PHP读取XML格式文件的方法总结
2017/02/27 PHP
Javascript操作cookie的函数代码
2012/10/03 Javascript
jQuery写的日历(包括日历的样式及功能)
2013/04/23 Javascript
用Javascript获取页面元素的具体位置
2013/12/09 Javascript
JavaScript数组常用操作技巧汇总
2014/11/17 Javascript
Javascript定义类(class)的三种方法详解
2015/03/13 Javascript
js实现同一个页面多个渐变效果的方法
2015/04/10 Javascript
辨析JavaScript中的Undefined类型与null类型
2016/05/26 Javascript
AngularJs Understanding the Model Component
2016/09/02 Javascript
同步异步动态引入js文件的几种方法总结
2016/09/23 Javascript
JavaScript判断浏览器对CSS3属性是否支持的多种方法
2016/11/13 Javascript
Vue框架之goods组件开发详解
2018/01/25 Javascript
vue内置指令详解
2018/04/03 Javascript
jQuery模拟12306城市选择框功能简单实现方法示例
2018/08/13 jQuery
vue 子组件和父组件传值的示例
2020/09/11 Javascript
Python应用03 使用PyQT制作视频播放器实例
2016/12/07 Python
Tensorflow简单验证码识别应用
2017/05/25 Python
Python numpy 点数组去重的实例
2018/04/18 Python
无法使用pip命令安装python第三方库的原因及解决方法
2018/06/12 Python
Python实现高斯函数的三维显示方法
2018/12/29 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
appium+python自动化配置(adk、jdk、node.js)
2020/11/17 Python
python 制作简单的音乐播放器
2020/11/25 Python
美国LOGO设计公司:The Logo Company
2018/07/16 全球购物
将时尚融入珠宝:Adornmonde
2019/10/17 全球购物
买卖正宗运动鞋:GOAT
2019/12/06 全球购物
期终自我鉴定
2014/02/17 职场文书
2014年挂职干部工作总结
2014/12/06 职场文书
2015年教师节演讲稿范文
2015/03/19 职场文书
护理自荐信
2019/05/14 职场文书