【发布时间】:2020-06-15 22:30:04
【问题描述】:
我有以下要映射的df。邮政编码是 int 类型,我想创建一个区域列,其中包含特定范围内的代码以映射到特定区域,例如
范围(2000-2999):“新南威尔士州”, 范围(3000-3999):“维多利亚”, 范围(4000-5000):“某事”, 9013:“袋鼠”
Postal Code Region
2000
2001
3001
4001
4999
9013
我执行了以下操作,但出现错误 - “TypeError: 'int' 类型的参数不可迭代”
df['Region']=df['Postal Code'].apply(lambda x:next((v for k, v in postal.items() if x in k),0))
如果您可以提供一种更好的方法来遍历包含所有整数的列并将特定范围的邮政编码映射到某些区域,我们将不胜感激!
谢谢
【问题讨论】:
-
也许如果您也可以将代码复制到
postal,那么这些范围真的看起来像'range(2000-2999)':"NSW"还是实际范围?