pythonpandas组内排序、单组排序、标号

更新时间:2023-06-11 23:46:58 阅读: 评论:0

音乐术语pythonpandas组内排序、单组排序、标号
版权声明:本⽂为博主原创⽂章,未经博主允许不得转载。 blog.csdn/qq_22238533/article/details/72395564
stubbornness
摘要:本⽂主要是讲解⼀下,如何进⾏排序。分为两种情况,不分组进⾏排序和组内进⾏排序。什么意思呢?具体来说,我举个栗⼦。
****注意****card是什么意思>英语语音翻译器
如果只是单纯想对某⼀列进⾏排序,⽽不进⾏打序号的话直接使⽤.sort_values就可以了。下⽂是关于如何把序号也打上的————————————————————————————
我们有⼀个数据集如下:
成都郫县希望职业技术学院我们下⾯想进⾏两种排序。先说第⼀种⽐较简单的也是很常⽤的,简单的对某⼀列进⾏排序然后添加⼀列序号。
例如,我们队comment_num这⼀列进⾏从⼤到⼩的排序,然后给出序号。如下图:
可以看到,sort_num这⼀列就是我们队comment_num的排序。如何实现呢?很简单,代码如下(数据集为data):
data['sort_num']=data['comment_num'].rank(ascending=0,method='den')
这⾥,我们⽤到了两个参数,第⼀个很好理解 ascending,就是选择是升序还是降序排列。废黜
另外⼀个参数method,这个参数很重要。我下⾯详细讲⼀下。
有时候,我们排序的时候会遇到相同⼤⼩,这个时候怎么处理呢?method其实就是让我们选择如何处理。
有以下⼏种处理⽅案:
第⼀种情况,如果出现相等,则序号⼀样,之后序号照常递增。这种情况就是上图的,我们看到comment_num等于4的有2个,序号为1。comment_num等于3的时候,序号为2,这个叫做正常按1依次递增。这和时候method='den'
第⼆种情况,如果出现相等,则取最先出现的值序号为“最⼩”,其他相同值依次按1递增,如果把上⾯代码method='first',就是实现这种效果,效果如下图:派对的英语
data['sort_num']=data['comment_num'].rank(ascending=0,method='first')
burlcomment_num中,4最⼤,并且第1⾏中的4最先出现,故序号为1。
第三种情况和第四种情况⽐较复杂。⽂字不好说明,下⾯直接放代码和效果。当method='min'时
data['sort_num']=data['comment_num'].rank(ascending=0,method='min')
sofare
当method='max'时
data['sort_num']=data['comment_num'].rank(ascending=0,method='max')
--------------------------------分割线--------------------------------------
上⾯只是某⼀列的排序,下⾯是组内排序。什么是意思?同样看下⾯的例⼦
假如,我想对cate为7的comment_num进⾏排序,同样也对,cate为8的comment_num进⾏排序。也
就是说,对comment_num排序的时候,只考虑相同的cate,这个就是对组内进⾏排序。实现的效果应该如下图:
cancer是什么意思啊实现代码也很简单。
data['group_sort']=data['comment_num'].groupby(data['cate']).rank(ascending=0,method='den')

本文发布于:2023-06-11 23:46:58,感谢您对本站的认可!

本文链接:https://www.wtabcd.cn/fanwen/fan/90/141855.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:排序   情况   时候   序号   实现
相关文章
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2022 Comsenz Inc.Powered by © 专利检索| 网站地图