Python pandas分组后取每组排名前三的记录

Python pandas分组后取每组排名前三的记录_第1张图片
源数据如上所示,需要输出每个城市销售额排名靠前的三家零售商。具体做法如下:
S1:读取文件

#读取源数据文件
import pandas as pd

file_path=r"E:\临时\20211103\temp.xlsx"

data=pd.read_excel(file_path)

S2:降序排序

#以城市和销售额为基准进行降序排序
data_sort=data.sort_values(by=["城市","销售额"],ascending=[False,False])

S3:分组后取每组排名前三的记录

grouped=data_sort.groupby(["城市"]).head(3)

取出的结果如下:
Python pandas分组后取每组排名前三的记录_第2张图片

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