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

Pandas删除plan_benefits列遇KeyError,求有效解决方法

解决转置后无法删除"plan_benefits"的问题

嘿,我来帮你搞定这个困扰!你遇到的KeyError完全是因为对转置后的DataFrame结构理解有点偏差,咱们一步步理清楚:

问题根源

你执行df_repo[['plan_benefits', 'valid_flag']].set_index('plan_benefits').transpose()之后,原来的plan_benefits列已经不是一个普通列了——它变成了DataFrame的行索引名称(可以通过df_repo.index.name查看,值就是plan_benefits)。所以你用drop或者del去删除列的时候,自然找不到这个键,报错是必然的。

两种解决方案

方案一:在现有代码基础上快速修正

在你添加完plan_name和pdf_name列之后,只需要两行代码就能达到你的期望:

# 移除行索引的名称(也就是那个显示在最左侧的"plan_benefits")
df_repo.index.name = None
# 把行索引重置为默认的数字索引(比如0)
df_repo = df_repo.reset_index(drop=True)

完整修改后的代码:

# 你的原有操作
df_repo = df_repo[['plan_benefits', 'valid_flag']].set_index('plan_benefits').transpose()
df_repo['plan_name'] = 'ABCBCBC'
df_repo['pdf_name'] = 'adjnajdn.pdf'

# 新增的修正步骤
df_repo.index.name = None
df_repo = df_repo.reset_index(drop=True)

print(df_repo.to_string())

方案二:调整初始转置逻辑,从源头避免问题

如果你想从一开始就避免这个索引名称的困扰,可以换一种转置方式:

# 先提取需要的列并转置
df_repo = df_repo[['plan_benefits', 'valid_flag']].transpose()
# 用plan_benefits那一行的内容作为列名
df_repo.columns = df_repo.loc['plan_benefits']
# 删除plan_benefits这一行
df_repo = df_repo.drop('plan_benefits')
# 添加自定义列
df_repo['plan_name'] = 'ABCBCBC'
df_repo['pdf_name'] = 'adjnajdn.pdf'
# 重置索引为默认数字
df_repo = df_repo.reset_index(drop=True)

print(df_repo.to_string())

最终效果

两种方案执行后,打印出来的结果都会和你期望的完全一致:

durable_medical_equipment    pcp  specialist  diagnostic  imaging  generic  formulary_brand  non_preferred_generic  emergency_room  inpatient_facility  medical_deductible_single  medical_deductible_family  maximum_out_of_pocket_limit_single  maximum_out_of_pocket_limit_family plan_name       pdf_name
0                       False  False       False       False    False    False            False                   False           False                False                      False                         False                                False                                 False  ABCBCBC adjnajdn.pdf

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 07:03:10