Python如何实现排序功能,怎样做添加序号
Admin 2022-08-11 群英技术资讯 1116 次浏览
关于“Python如何实现排序功能,怎样做添加序号”的知识有一些人不是很理解,对此小编给大家总结了相关内容,具有一定的参考借鉴价值,而且易于学习与理解,希望能对大家有所帮助,有这个方面学习需要的朋友就继续往下看吧。需求:利用python实现排序功能
测试数据:data.csv
"id","date","amount" "1","2019-02-08","6214.23" "1","2019-02-08","6247.32" "1","2019-02-09","85.63" "2","2019-02-14","943.18" "2","2019-02-15","369.76" "2","2019-02-18","795.15" "2","2019-02-19","715.65" "2","2019-02-21","537.71" "2","2019-02-24","1037.71" "3","2019-02-09","967.36" "3","2019-02-10","85.69" "3","2019-02-12","769.85" "3","2019-02-13","943.86" "3","2019-02-19","843.86" "3","2019-02-11","85.69" "3","2019-02-14","843.86" "1","2019-02-10","985.63" "1","2019-02-09","285.63" "1","2019-02-11","1285.63"
第一种常见排序: 将上面数据按照amount字段进行排序
import pandas as pd filename="data.csv" df=pd.read_csv(filename) #增加一个rank排序字段 df['rank']=df['amount'].rank(ascending=0, method='first')
说明:ascending :1 表示升序,0表示降序
method:此参数的作用是,当遇到两个值相同时,排序处理的方式。可以取的值有 first、max、min、dense
表示排序时,序号不会重复且是连续的,遇到相同的值时,会按照数据的先后顺序标序号,如下图:
df['rank']=df['amount'].rank(ascending=0, method='first') print(df)

表示排序时,遇到相同的值时,后面数的序号与最先出现的数的序号保持一致,如下图,843.86值重复两次,排名均为9,且排序中没有序号10(序号不连续)
df['rank']=df['amount'].rank(ascending=0, method='min') print(df)

表示排序时,遇到相同的值时,后面数的序号与最后出现的数的序号保持一致,如下图,843.86值重复两次,排名均为10,且排序中没有序号9(序号不连续)
df['rank']=df['amount'].rank(ascending=0, method='max') print(df)

表示排序时,遇到相同的值时,重复值序号保持一致,如下图,843.86值重复两次,排名均为9,且下一个数序号为10,序号保持连续
df['rank']=df['amount'].rank(ascending=0, method='dense') print(df)

第二种常见排序:组内排序 ,将上面数据根据id分组,并按照amount字段进行组内排序
df['rank']=df['amount'].groupby(df['id']).rank(ascending=0, method='dense') #对结果按照id和rank进行升序排列 data=df.sort_values(by=['id','rank'],ascending=(1,1))

所谓排序,就是使一串记录,按照其中的某个或某些关键字的大小,递增或递减的排列起来的操作。排序算法,就是如何使得记录按照要求排列的方法。
经过某种排序后,如果两个记录序号同等,且两者在原无序记录中的先后秩序依然保持不变,则称所使用的排序方法是稳定的,反之是不稳定的。
通常讨论的都是内排序。
影响内排序算法性能的三个因素:

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
这篇文章介绍了python的单元测试框架pytest,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
本文主要为大家详细介绍了如何通过python实现根据文件后缀实现分类,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以关注一下
Python三位数逆序输出的方法及代码是什么,有不少朋友对此感兴趣,下面小编给大家整理和分享了相关知识和资料,易于大家学习和理解,有需要的朋友可以借鉴参考,下面我们一起来了解一下吧。
由于项目取数需要,要将两个不同的csv文件合并到一个文件中,所以下面这篇文章主要给大家介绍了关于利用python合并csv文件的相关资料,文中通过实例代码介绍的非常详细,需要的朋友可以参考下
下面我们就用python求取质数的和。质数就是在大于1的自然数之中,除了1和它本身之外,不会再有其他因数的自然数。
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008