<p>我有以下我想映射的df。邮政编码是一种整数类型,我想创建一个区域列,其中包含属于特定范围的代码,例如映射到特定区域</p>
<p>范围(2000-2999):“新南威尔士州”,
范围(3000-3999):“维多利亚”,
范围(4000-5000):“某物”,
9013:“袋鼠”</p>
<pre><code>Postal Code Region
2000
2001
3001
4001
4999
9013
</code></pre>
<p>我做了下面的操作,但是我得到了一个错误-“TypeError:类型为'int'的参数不可iterable”</p>
<pre><code>df['Region']=df['Postal Code'].apply(lambda x:next((v for k, v in postal.items() if x in k),0))
</code></pre>
<p>如果您能提供一种更好的方式,通过一列所有整数进行迭代,并将邮政编码的特定范围映射到某些地区,我们将不胜感激</p>
<p>谢谢</p>
<p>发生错误的原因是<code>,0</code>放在了错误的括号中</p>
<pre><code>df['Region']=df['Postal Code'].apply(lambda x:next((v for k, v in postal.items() if x in k)),0)
</code></pre>