前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >pandas VS Excel排序-单排序与多重排序

pandas VS Excel排序-单排序与多重排序

作者头像
哆哆Excel
发布2022-10-25 13:59:14
6920
发布2022-10-25 13:59:14
举报
文章被收录于专栏:哆哆Excel

pandas VS Excel排序-单排序与多重排序

【要求】

1.以总分排序

2.以“部门”+“总分”排序

3.分别输入排序后的名次

【知识点】

pandas.sort_values 与pandas.rank()

[sort_values]

#表示pd按照by=xxx这个字段排序,inplace默认为False,如果该值为False,那么原来的pd顺序没变,只是返回的是排序的,

如果用

d.sort_values(by='总分',ascending= False)

print(d)

#这样打印出来的数据还是原来的数据

print(d.sort_values(by='总分',ascending= False))

#这样打印才能看出来是排序了的数据

所以我们为了能打印出来的数据看到有变化,常常要加上inplace=True这一句

======以总分排序=====

d.sort_values(by='总分',inplace=True,ascending= False)

======以“部门”+“总分”排序=====

d.sort_values(by=['部门','总分'],inplace=True,ascending=[0,0])

用sort_values进行排序时只是排序,没能输入名次,如果要输入名次,就要用到rank()函数

====以总分的高低在后面输入一个增加一个“总分名次”列并输入名次数字===

d['总分名次']=d['总分'].rank(ascending=False)

代码语言:javascript
复制
DataFrame.rank(axis=0, method='average',numeric_only=None, na_option='keep', ascending=True, pct=False)

Method=”average”平均排名:为相同的值分配一个平均排名

顺序排名:对于相同的值按照出现的顺序排名

Method=”min”最小值排名:对于相同的值都取小的排名

Method=”max”最大值排名:对于相同的值都取大的排名

降序排名se5.rank(method="first",ascending=False)

【代码汇总】

代码语言:javascript
复制
# -*- coding: UTF-8 -*-
import pandas as pd
d=pd.read_excel('pandas VS excel排序-单排序与多重排序.xlsx')
print(d)
#d.sort_values(by='总分',inplace=True,ascending= False)#inplace=True,
#表示pd按照by=xxx这个字段排序,inplace默认为False,如果该值为False,那么原来的pd顺序没变,只是返回的是排序的,True
#print(d)#这样打印出来的数据还是原来的数据
#print(d.sort_values(by='总分',ascending= False))#这样打印才能看出来是排序了的数据
#print(d['总分'].rank())这样的排序是所有的列都排序并打印出排序后的“次”
d.sort_values(by=['部门','总分'],inplace=True,ascending=[0,0])
d['总分名次']=d['总分'].rank(ascending=False)
d.to_excel("pandas VS excel排序-单排序与多重排序_out.xlsx",index=False)
print("成功")

【效果图】

====今天就学习到此====

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-04,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 哆哆Excel 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档