python学习教程16-数据分组,取前三的值

该篇博客介绍了如何利用Python的Pandas库处理Excel文件,分别从三个班级的成绩表和三个销售部门的业绩表中提取每个班级的前三名学生和每个部门的销售冠军。通过读取Excel、合并数据、采样及使用groupby和nlargest函数,实现了数据筛选和排序,最后将结果保存到新的Excel文件中。

一个学校有三个班级,根据成绩取每个班级的前三名;

一个公司有三个销售部门,根据销售业绩取三个部门的销冠。。。

类型这样的需要有很多种。


一个excel表中,三个sheet(三个班级),把考试成绩的前三名排列出来。 

import pandas as pd

# sheet_name=None遍历为字典,读取所有数据
df = pd.read_excel("成绩.xlsx", sheet_name=None)

# 三个表格合并成为一个大表格
df_all = pd.concat(df.values())

# sample从序列a中随机抽取n个元素,并将n个元素生以list形式返回
df_all.sample(3)

# groupby函数主要的作用是进行数据的分组以及分组后地组内运算;nlargest返回按列降序排列的前n行。
df_all.groupby(['班级']).apply(lambda x: x.nlargest(3, "成绩")).to_excel("结果.xlsx")

结果输出:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值