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

使用正则表达式遍历pandas Series时为何出现KeyError?

问题原因与解决方法

错误原因

你循环里的m是Series的元素值(比如'USDCNY_TOM'),但你用money[m]是试图把这个值当作索引去访问Series元素——而原Series的索引是0、1这种整数,根本不存在'USDCNY_TOM'这个索引,所以触发KeyError。

单独执行money[0]没问题,是因为你用的是正确的整数索引,直接取到了对应位置的元素。

正确做法

推荐用pandas原生的矢量化操作(效率更高,更符合pandas的使用习惯):

money = money.str.replace(m_trim, '', regex=True)

如果一定要用循环(仅作理解用,不推荐),要遍历索引而非元素值:

# 方法1:用enumerate获取索引和值
for idx, m in enumerate(money):
    money[idx] = m_trim.sub('', m)

# 方法2:用items()遍历索引和值
for idx, m in money.items():
    money[idx] = m_trim.sub('', m)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.25 15:22:02