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

Python中高效计算各UPC每日平均拣货量的方法求助

高效计算每个UPC每日平均拣货量的方法

嘿,不用纠结嵌套循环啦——Pandas的groupby完全能搞定这个需求,而且效率甩嵌套循环几条街!你之前的问题应该是分组的维度没选对,只按UPC分组的话,没法拿到每日的平均数据。

正确的分组计算步骤

你需要同时按UPC和date两个字段分组,这样才能得到每个UPC在每一天的平均拣货量。具体代码如下:

# 按UPC和日期分组,对拣货量求平均值
daily_avg_pick = practice_df.groupby(['UPC', 'date'])['quantity_picked'].mean().reset_index()

# 查看结果
print(daily_avg_pick)

代码解释

  • groupby(['UPC', 'date']):把数据同时按商品编码(UPC)和日期分组,确保我们计算的是同一个UPC在同一天的平均拣货量
  • ['quantity_picked'].mean():对分组后的拣货量列求平均值
  • reset_index():把分组后的分层索引转换成普通的列,这样结果会变成一个结构清晰的DataFrame,方便你查看每一行对应的UPC、日期和平均拣货量

更直观的展示方式(可选)

如果你想把数据整理成“UPC为行,日期为列”的表格形式,用pivot_table会更直观:

# 生成透视表,展示每个UPC在不同日期的平均拣货量
pivot_table_avg = practice_df.pivot_table(
    index='UPC',
    columns='date',
    values='quantity_picked',
    aggfunc='mean'
)

print(pivot_table_avg)

为什么这些方法比嵌套循环好?

Pandas的分组、聚合操作都是底层用C实现的,处理55000+行数据完全不在话下,速度会比Python层面的嵌套循环快几十甚至上百倍,而且代码更简洁易读,后期维护也方便。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 08:13:24