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

如何使用pyzipcodes从DataFrame的邮编列生成州列?

从邮编提取对应州信息(基于pyzipcodes库)

核心思路

你已经能获取到ZipCode对象,直接访问该对象的.state属性就能拿到州代码,再结合pandas的apply方法批量处理DataFrame的邮编列即可。

实现代码

  1. 导入依赖库
import pandas as pd
import pyzipcodes
  1. 定义提取函数(包含异常处理)
def get_state(zip_code):
    try:
        # 查询邮编对应的ZipCode对象
        zip_obj = pyzipcodes.get(str(zip_code))
        # 直接提取state属性
        return zip_obj.state
    except:
        # 处理无效/不存在的邮编,返回空值或自定义内容
        return None
  1. 为DataFrame添加state列
# 替换成你实际的邮编列名
df1['state'] = df1['邮编'].apply(get_state)

注意事项

  • 如果你的邮编列是数值类型,必须转成字符串后再查询(pyzipcodes要求输入字符串格式的邮编),上面的函数里已经用str(zip_code)做了转换
  • 若存在格式脏数据(比如带空格的邮编),可以先清洗:df1['邮编'] = df1['邮编'].astype(str).str.strip()
  • try-except块用于避免无效邮编导致程序中断,你可以根据需求修改异常返回值,比如改成return '未知'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.05 02:25:19