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

使用Pandas Groupby函数时触发Indexing Error,求修复方案

问题修复方案

错误原因

执行groupby('basepay').mean()时,Pandas仅对数值类型列计算均值,jobtitle属于字符串列,不会被保留在聚合后的结果中,因此后续选取['basepay','jobtitle']时会提示jobtitle列不存在。且原代码的分组逻辑完全偏离题目「找到警察队长的基本工资」的需求,需要重新调整。

正确代码示例

方案1:直接提取警察队长的基本工资(含去重)

import pandas as pd

# 筛选职位为POLICE CAPTAIN的记录,提取职位和基本工资列
captain_basepay = sf_public_salaries[sf_public_salaries['jobtitle'] == 'POLICE CAPTAIN'][['jobtitle', 'basepay']]

方案2:计算警察队长的平均基本工资

import pandas as pd

# 先筛选目标职位,再计算平均基本工资
average_captain_basepay = sf_public_salaries[sf_public_salaries['jobtitle'] == 'POLICE CAPTAIN'].groupby('jobtitle', as_index=False)['basepay'].mean()

方案3:查看所有职位的平均基本工资(可按需筛选)

import pandas as pd

# 按职位分组,计算每个职位的平均基本工资
all_job_basepay = sf_public_salaries.groupby('jobtitle', as_index=False)['basepay'].mean()
# 筛选警察队长的记录
captain_result = all_job_basepay[all_job_basepay['jobtitle'] == 'POLICE CAPTAIN']

核心修正点

  1. 调整分组逻辑:题目需求是关联职位与基本工资,因此应按jobtitle分组而非basepay
  2. 优先筛选目标数据:先筛选出警察队长的记录,再进行聚合或提取操作,避免无效计算

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.24 19:54:27