You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python3如何从DataFrame中筛选各门店销量TopX的唯一商品编码

Pandas 按门店取销量前X商品实现方案

假设你已经将数据源加载为名为df的DataFrame,按以下步骤实现即可:

  • 首先替换TOP_X为你实际需要的排名阈值,比如取前3就设为3
  • 排名逻辑支持自定义调整,可根据需求修改rank方法的参数
import pandas as pd

# 配置前X名阈值
TOP_X = 2

# 按门店分组,对销量降序排名,method参数可根据排名规则调整
# method='dense': 同销量同排名,不跳号;method='first': 同销量按出现顺序排,严格取前X个
df['sales_rank'] = df.groupby('storeCode')['salesAmount'].rank(ascending=False, method='dense')

# 筛选前X名记录,去重后按门店聚合得到对应商品编码列表,返回结果为字典,key是门店编码,value是商品编码列表
store_top_products = df[df['sales_rank'] <= TOP_X].drop_duplicates(subset=['storeCode', 'productCode'])\
    .groupby('storeCode')['productCode'].apply(list).to_dict()

# 如果你需要所有门店的前X名商品合并后的去重编码列表,用下面这行
# all_top_products = df[df['sales_rank'] <= TOP_X]['productCode'].drop_duplicates().tolist()

内容的提问来源于stack exchange,提问作者tgc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 20:24:03