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

如何在pyzipcode中忽略错误?处理DataFrame邮编转州报错

处理邮编转州时的报错问题

当遇到找不到的邮编时,只需给映射逻辑加上异常处理或存在性判断,就能跳过错误继续处理剩余数据,以下是两种可行方案:

方案1:使用try-except捕获异常(推荐,可读性更强)

定义一个带异常处理的函数,找不到邮编时返回None(或你需要的默认值):

from pyzipcode import ZipCodeDatabase

zcdb = ZipCodeDatabase()

def get_state_from_zip(zip_code):
    try:
        return zcdb[zip_code].state
    except KeyError:
        # 可替换为你需要的默认值,比如空字符串''
        return None

df4['state'] = df4['postal_code'].map(get_state_from_zip)

方案2:先判断邮编是否存在

直接在lambda里判断邮编是否在数据库中,存在才获取州信息:

df4['state'] = df4['postal_code'].map(lambda x: zcdb[x].state if x in zcdb else None)

两种方式都能避免因单个无效邮编导致整个映射过程中断,确保剩余数据正常处理。

内容的提问来源于stack exchange,提问作者Vivek kanna Jayaprakash

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.30 18:55:59