python - python pyzipcode库检查邮政编码是否丢失
问题描述
我有一个名为 dfZ 的数据框,其中包含一个邮政编码列和一个值列。我正在使用邮政编码和“pyzipcode”库来查找城市、州、纬度经度等。
当库中存在邮政编码时,下面的代码效果很好,
import pyzipcode
from pyzipcode import ZipCodeDatabase
zipDB = ZipCodeDatabase()
dfZ['State'] = dfZ['Zip'].apply(lambda x:zipDB[int(x)].state)
dfZ['LAT'] = dfZ['Zip'].apply(lambda x:zipDB[int(x)].latitude)
dfZ['LNG'] = dfZ['Zip'].apply(lambda x:zipDB[int(x)].longitude)
但是例如,如果邮政编码是 727,则库中不存在此内容并抛出错误
我尝试使用 if 函数修改代码以检查它是否为空,但无法识别。
pd.isnull(zipDB[727])
编辑错误消息的文本
---------------------------------------------------------------------------
KeyError Traceback (most recent call last)
<ipython-input-71-08eb3623e336> in <module>
----> 1 pd.isnull(zipDB[727])
~\Anaconda3\lib\site-packages\pyzipcode\__init__.py in __getitem__(self, zipcode)
179 data = self.get(str(zipcode).zfill(5))
180 if data is None:
--> 181 raise KeyError(f"Couldn't find zipcode: '{zipcode}'")
182 else:
183 return data
KeyError: "Couldn't find zipcode: '727'"
有没有办法编写代码,这样如果遇到未知的邮政编码,就会把它们留作 Nan
解决方案
推荐阅读
- java - 为什么 getConfiguration 偶尔会抛出 File cannot be null?
- java - 如何仅从我的应用程序获取辅助功能服务手势
- excel - 我无法用我的代码检索我的前景中的内容
- java - 将库添加到 Eclipse 插件
- javascript - 硒。调用函数结果缺少“值”
- java - 如何在警报对话框中更改 EditText 光标颜色?
- python-3.x - 拟合 3D 卷积神经网络时出错
- mapbox - 如何在 Mapbox 的瓦片集中获取卫星街道地图
- karate - 至于“替换”的用法,它是否支持用适当的值替换占位符(我的意思是“覆盖”))?
- c - 警告:从不兼容的指针类型传递“inet_aton”的参数 2........错误