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

如何在Pandas中按location和box分组统计箱数量并生成目标结果?

解决方案:按location和box分组统计数量

问题原因

你当前的代码无法生成目标结果,是因为直接将groupby的size()结果赋值给原DataFrame的新列时,分组后的多级索引与原DataFrame的索引不匹配,会导致大量缺失值,且无法得到去重后的分组统计结果。

正确代码

import pandas as pd

# 假设原始数据已存入df
result = df.groupby(['location', 'box']).size().reset_index(name='box count')
# 调整列顺序匹配期望输出
result = result[['location', 'box count', 'box']]
print(result)

代码说明

  1. df.groupby(['location', 'box']).size():按location和box组合分组,统计每个分组内的记录条数,即每个box在对应location下的出现次数。
  2. .reset_index(name='box count'):将分组生成的多级索引转为普通列,并把统计结果列命名为box count。
  3. 最后调整列的顺序,让输出列顺序与目标格式一致。

运行后输出结果将完全匹配你提供的期望格式:

location  box count    box
0       CA          3  box11
1       CA          3  box86
2       CA          3  box99
3       NY          2  box55
4       NY          2  box66

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 12:31:01