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

如何使用Pandas对分组销量数据降序排序得到目标表格输出

你当前的代码仅按3个维度分组聚合销量,会丢失样例要求的门店、区域、库存类等其他字段,且分组键会默认转为索引,不符合平表格式要求,可按你的实际需求选择对应调整方案:

方案1:无需聚合,直接对全量原始数据按销量降序排序

如果不需要做分组聚合,仅要保留所有原始字段,按Sales (Qty)从高到低排序,直接使用排序方法即可:

# ignore_index=True会重置行索引为0、1、2...的连续数字,匹配样例的序号格式
prod_size = dfd.sort_values(by='Sales (Qty)', ascending=False, ignore_index=True)

方案2:先按SKU聚合总销量,关联回全字段后按总销量降序

如果需要先统计每个SKU(ProductID+ColorName+SizeID)的总销量,再展示该SKU下所有门店的明细数据,按SKU总销量降序排序:

# 1. 统计每个SKU的总销量,as_index=False保留分组键为普通列
sku_total_sales = dfd.groupby(['ProductID','ColorName','SizeID'], as_index=False)['Sales (Qty)'].sum().rename(columns={'Sales (Qty)':'SKU总销量'})

# 2. 将SKU总销量关联回原始表,保留所有原始字段
prod_size = dfd.merge(sku_total_sales, on=['ProductID','ColorName','SizeID'], how='left')

# 3. 先按SKU总销量降序,同SKU下再按单店销量降序,重置索引
prod_size = prod_size.sort_values(by=['SKU总销量', 'Sales (Qty)'], ascending=False, ignore_index=True)

字段顺序对齐(可选)

如果需要最终输出的字段顺序和样例完全一致,可补充指定列顺序:

prod_size = prod_size[['ProductID', 'ColorName', 'SizeID', 'Location Name', 'District', 'Opening QTY', 'Sales (Qty)', 'IN QTY', 'OUT QTY', 'On Hand Qty', 'Transit QTY', 'Total QTY']]

内容的提问来源于stack exchange,提问作者Syed Usama Naveed

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 12:36:05