分享好友 最新动态首页 最新动态分类 切换频道
dataframe python 排序取前十_DataFrame(12):DataFrame的排序与排名问题
2024-12-27 04:20

1、说明

DataFrame中的排序分为两种,一种是对索引排序,一种是对值进行排序。

索引排序:sort_index()

值排序:sort_values()

值排名:rank()

对于索引排序,涉及到对行索引、列索引的排序,并且还涉及到是升序还是降序。函数df.sort_index(axis= , ascending= , inplace=),需要特别注意这三个参数。axis表示对行操作,还是对列操作;ascending表示升序,还是降序操作。

对于值排序,同样也是涉及到行、列排序问题,升序、降序排列问题。函数df.sort_values(by= , axis= , ascending= , inplace=),也需要特别注意这几个参数,只是多了一个by操作,需要我们指明是按照哪一行或哪一列,进行排序的。

注意:axis=0表示对行操作,axis=1表示对列进行操作;ascending=True表示升序,ascending=False表示降序;inplace=True表示对原始DataFrame本身操作,因此不需要赋值操作,inplace=False相当于是对原始DataFrame的拷贝,之后的一些操作都是针对这个拷贝文件进行操作的,因此需要我们赋值给一个变量,保存操作后的结果。

2、索引排序:df.sort_index()

① 对行索引,进行升序排列

df = pd.DataFrame({"A":[1,3,5,7,9],

"D":[1,2,3,4,5],

"C":[3,6,9,12,15],

"B":[2,4,6,8,10]},

index=list("acbed"))

display(df)

display(id(df))

df.sort_index(axis=0,ascending=True,inplace=True)

display(df)

display(id(df))

df1 = df.sort_index(axis=0,ascending=True)

display(df1)

display(id(df1))

结果如下

② 对列索引,进行降序排列

df = pd.DataFrame({"A":[1,3,5,7,9],

"D":[1,2,3,4,5],

"C":[3,6,9,12,15],

"B":[2,4,6,8,10]},

index=list("acbed"))

display(df)

df.sort_index(axis=1,ascending=False,inplace=True)

display(df)

结果如下

3、值排序:df.sort_values()

① 对某一列进行升序排列(有实际意义)

df = pd.DataFrame({"A":[3,1,5,9,7],

"D":[4,1,2,5,3],

"C":[3,15,9,6,12],

"B":[2,4,6,10,8]},

index=list("acbed"))

display(df)

df.sort_values(by="A",axis=0,ascending=True,inplace=True)

display(df)

结果如下

② 对某一行进行降序排列(实际意义不大)

df = pd.DataFrame({"A":[3,1,5,9,7],

"D":[4,1,2,5,3],

"C":[3,15,9,6,12],

"B":[2,4,6,10,8]},

index=list("acbed"))

display(df)

df.sort_values(by="A",axis=1,ascending=False,inplace=True)

display(df)

结果如下

③ 对多列进行联合排序(重要)

df = pd.DataFrame({"A":[3,1,3,9,7],

"D":[666,1,888,5,3],

"C":[3,15,9,6,12],

"B":[2,4,6,10,8]},

index=list("acbed"))

display(df)

df.sort_values(by=["A","D"],axis=0,ascending=[True,False],inplace=True)

df

结果如下

4、sort_values()中的na_position参数

na_position参数用于设定缺失值的显示位置,first表示缺失值显示在最前面;last表示缺失值显示在最后面。

df = pd.DataFrame({"A":[10,8,np.nan,2,4],

"D":[1,7,5,3,8],

"B":[5,2,8,4,1]},

index=list("abcde"))

display(df)

df.sort_values(by="A",axis=0,inplace=True,na_position="first")

display(df)

df.sort_values(by="A",axis=0,inplace=True,na_position="last")

display(df)

结果如下

5、“值排名”:rank()函数

1)rank()函数的常用参数说明

2)原始数据

= {"name":["张三","李四","王五","赵六","郑七","陈八","黄九","孙十"],

"sales":[60,40,50,40,30,80,70,60]}

df = pd.DataFrame(x)

display(df)

结果如下

3)rank()函数使用如下

① method="first"

= {"name":["张三","李四","王五","赵六","郑七","陈八","黄九","孙十"],

"sales":[60,40,50,40,30,80,70,60]}

df = pd.DataFrame(x)

display(df)

df["排名"] = df["sales"].rank(method="first")

display(df)

结果如下

② method="min"

= {"name":["张三","李四","王五","赵六","郑七","陈八","黄九","孙十"],

"sales":[60,40,50,40,30,80,70,60]}

df = pd.DataFrame(x)

display(df)

df["排名"] = df["sales"].rank(method="min")

display(df)

结果如下

③ method="max"

= {"name":["张三","李四","王五","赵六","郑七","陈八","黄九","孙十"],

"sales":[60,40,50,40,30,80,70,60]}

df = pd.DataFrame(x)

display(df)

df["排名"] = df["sales"].rank(method="max")

display(df)

结果如下

④ method="average"

= {"name":["张三","李四","王五","赵六","郑七","陈八","黄九","孙十"],

"sales":[60,40,50,40,30,80,70,60]}

df = pd.DataFrame(x)

display(df)

df["排名"] = df["sales"].rank(method="average")

display(df)

结果如下

最新文章
百度网站收录提交,百度网站收录提交器
快速提升网站可见度与搜索引擎排名的必备技巧一、理解网站收录的重要性百度作为中国最大的搜索引擎,拥有庞大的用户群体和高度的市场占有率。为了确保您的网站能够被更多潜在用户发现并访问,网站是至关重要的一步。正确的提交方式不仅能加
一步到位,利用AI生成超逼真美女写真,轻松上手!
在这个科技飞速发展的年代,AI的应用已经渗透到我们生活的方方面面。其中,AI绘画、AI写真制作更是得到了广泛的关注。不少小伙伴们都曾幻想过,拥有一张属于自己的专属美女写真,甚至可以用它来当做社交平台的头像,或者送给好友作为惊喜。
Python爬虫入门实战(详细步骤)
爬虫这个功能,我个人理解是什么语言都能写的,只要能正常发送 HTTP 请求,将响应回来的静态页面模版 HTML 上把我们所需要的数据提取出来就可以了,原理很简单,这个东西当然可以手动去统计收集,但是
阿里云助力易点天下实现程序化广告+AI多维度效率提升
  12月12日,在第十二届中国企业全球形象高峰论坛现场,联合阿里云正式发布了在程序化广告领域的多项重要突破,这些成果主要基于阿里云平台PAI、通义大模型以及阿里云+云原生技术生成。  市场研究机构MAGNA最新发布的《全球广告预测》
观山湖区第一高级中学环境好不好
摘要:观山湖区第一高级中学的环境综合评价涵盖了校园设施、教学资源、师资力量等多个方面。小编从升学规划师的角度出发,深入分析学校环境对学长和教育质量的重要性,探讨该校在各方面的表现及其对学生未来发展的潜在影响。观山湖区第一高
遇到纠纷不用慌,“人民调解”帮你忙!“解纷芜优”指引来了
生活中可能遇到矛盾纠纷,如果闹上法庭,不仅要花时间和金钱,还会伤害人与人之间的和气……那么,如何更加妥善高效处理矛盾纠纷呢?快随小编来看看“人民调解”如何省时省心帮助纠纷双方解决问题吧现在可以通过“解纷芜优”在线申请调解啦
甲骨文谈存储:其实一开始我们就是认真的
当人们谈到iPhone的成功最大的因素之一就是软件与硬件最强大的结合。雷军也表示软硬件结合互联网是小米成功的核心。今天甲骨文高调宣布其存储设备并向业 内发出最强音---甲骨文的软件加上甲骨文的存储设备,就是要为企业级数据市场提供最好
青年小店,让城市未来这YOUNG出彩丨青年小店榜样计划(浙江杭州站)圆满举行
杭州,一座创新活力之城、青年友好之城,吸引着大批年轻人前来生活与创业,为大批怀揣梦想与激情的年轻人提供了创业沃土,也承载着不少年轻人的诗和远方。近年来,杭州市积极践行青年优先发展理念,全力支持青年创新创业,吸引众多有志青年
淘宝直播店抽免单如何配置?
抽免单工具是淘宝直播平台提供给商家和主播的一种玩法工具,用户通过对指定商品下单参与活动,可以赢取免单福利,主播可以通过该工具进行直播间福利发放,亦可通过该工具提升成交爆发系数,欢迎各位商家和主播伙伴使用~注意:抽免单工具202
面容即密码!人脸识别签到助参会者快速入场
在数字化技术不断发展的今天,人脸识别签到技术正逐渐成为各类活动入场管理的热门之选,以其卓越的智能化特性重塑着传统签到模式。人脸识别:精准验证的奥秘人脸识别签到,是一种依托先进的图像识别技术与深度学习算法的身份验证方式。它通
相关文章
推荐文章
发表评论
0评