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

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

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

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


python学习教程16-数据分组,取前三的值_第1张图片

python学习教程16-数据分组,取前三的值_第2张图片

python学习教程16-数据分组,取前三的值_第3张图片

一个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")

结果输出:

python学习教程16-数据分组,取前三的值_第4张图片

你可能感兴趣的:(python,python,pycharm)