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

如何在无Positive分类时补0避免KeyError?Pandas数据处理

Pandas交叉表处理单一分类数据时的KeyError解决方法

问题场景

我手头有一份企业环境影响数据集,已创建Impact_Category列:总环境影响值为正则标记为Positive,为负则标记为Negative。

按国家分析企业数据时,若某国同时存在两类企业,执行以下代码可正常生成统计表格:

usa_company_impcat = pd.crosstab(usa_company_filtered['Year'], usa_company_filtered['Impact_Category'])
usa_company_impcat['Total_Count'] = usa_company_impcat.loc[:,['Negative', 'Positive']].sum(axis = 1) # 添加总计列
usa_company_impcat = usa_company_impcat.rename_axis("Year").reset_index() # 重置Year列格式
usa_company_impcat

但当某国仅存在Negative类企业时,执行上述代码会报错:

KeyError: "['Positive'] not in index"

导致无法生成所需图表。

解决方法

通过新增值为0的Positive列即可修复问题,示例代码如下:

ROK_ind_impcat = pd.crosstab(ROK_industry['Year'], ROK_industry['Impact_Category'])
ROK_ind_impcat['Positive'] = 0 # 新增Positive列,值设为0,适配后续图表需求
ROK_ind_impcat['Total_Count'] = ROK_ind_impcat.loc[:,['Negative', 'Positive']].sum(axis = 1)
ROK_ind_impcat = ROK_ind_impcat.rename_axis("Year").reset_index() # 重置Year列格式
ROK_ind_impcat

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.12 14:53:17