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

使用Pandas groupby+value_counts统计区域库存零件数量异常,求排查

问题分析与解决方法

问题根源

你当前的代码InventorySummary = InventoryRawData.groupby(['Region'])['Part Number'].value_counts()做的是:按区域分组后,统计每个区域内单个零件的重复出现次数,输出结果是一个带多层索引(Region + Part Number)的Series,每个行对应某个区域下某个零件的出现频次。这和你的需求不匹配:

  • 若你要统计每个区域的唯一零件总数量:这个代码会输出每个零件的计数(示例中都是1),而非区域的唯一零件总数;
  • 若你要输出带Quantity列的结构化结果:当前结果是Series,没有单独的Quantity列,不符合你要的DataFrame格式。

对应解决方案

根据你的需求分两种情况处理:

情况1:统计每个区域的唯一零件总数

直接使用nunique()方法计算分组内唯一值的数量,再转成带Quantity列的DataFrame:

InventorySummary = InventoryRawData.groupby(['Region'])['Part Number'].nunique().reset_index(name='Quantity')

输出结果会是每行对应一个区域,Quantity列显示该区域的唯一零件总数。

情况2:保留区域-零件的分层结构,Quantity列显示每个零件的出现次数(示例中均为1)

需要把value_counts()的结果转成DataFrame,并将统计列命名为Quantity:

InventorySummary = InventoryRawData.groupby(['Region'])['Part Number'].value_counts().reset_index(name='Quantity')

这样输出的DataFrame会包含Region、Part Number、Quantity三列,每个零件在对应区域的Quantity值为1(符合你的示例场景)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.14 00:15:35