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

如何将变量值作为新列插入Pandas DataFrame

动态给pandas DataFrame新增邮编对应州列的实现方案

原有代码的问题点

  • 取值阶段错误:**st** = print(zipcode.state) 为无效写法
    • 代码中的**是Markdown加粗语法,直接写在Python代码里会触发语法报错
    • print()函数仅负责控制台输出内容,返回值为None,即便去掉**,变量st也无法存储到实际的州名,只会拿到空值
  • 传参阶段错误:df2.assign(STATE = **st**) 给assign方法传参不需要添加**这类额外标记,直接传入存好目标值的变量即可

正确实现代码

1. 正确查询邮编对应州并存入变量

from uszipcode import SearchEngine
engine = SearchEngine()
# 将ZIPCODE替换为实际使用的邮编值,例如佛罗里达的邮编33101
zip_info = engine.by_zipcode(ZIPCODE)
# 直接读取state属性赋值,不要套print函数
st = zip_info.state

2. 动态传值新增STATE列

assign方法不会原地修改原DataFrame,需要用变量接收返回的新结果:

df2 = df2.assign(STATE = st)

补充提示:如果df2中每行对应不同邮编,需要批量匹配所有行的州信息,不要写循环逐行查询,建议先生成「邮编-州」的映射字典,再用pandas的map方法批量赋值,执行效率会高很多。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 15:45:48