<p>您的字典无效,您可以使用list作为dictionary的值,也不能像<code>dict</code>那样调用DictionAnry,因为python代码名,内置:</p>
<pre><code>d = { 'London': ['Hackney', 'Mile End', 'Croydon'],
'Birmingham': ['Edgbaston']}
</code></pre>
<p>以下是可能的展平列表中的值,然后使用<a href="http://pandas.pydata.org/pandas-docs/stable/reference/api/pandas.Series.map.html" rel="nofollow noreferrer">^{<cd2>}</a>,如果不存在,则返回缺少的值:</p>
<pre><code>d1 = {x: k for k, v in d.items() for x in v}
print (d1)
{'Hackney': 'London', 'Mile End': 'London', 'Croydon': 'London', 'Edgbaston': 'Birmingham'}
df1['city'] = df1['location'].map(d1)
print (df1)
col1 location city
0 1 Hackney London
1 2 Mile End London
2 3 Croydon London
3 4 Edgbaston Birmingham
4 5 Wembley NaN
</code></pre>
<p>如果字典格式为键中的元组:</p>
<pre><code>d ={('Hackney', 'Mile End', 'Croydon') : 'London', ('Edgbaston', ) : 'Birmingham'}
d1 = {x: v for k, v in d.items() for x in k}
print (d1)
{'Hackney': 'London', 'Mile End': 'London', 'Croydon': 'London', 'Edgbaston': 'Birmingham'}
df1['city'] = df1['location'].map(d1)
print (df1)
col1 location city
0 1 Hackney London
1 2 Mile End London
2 3 Croydon London
3 4 Edgbaston Birmingham
4 5 Wembley NaN
</code></pre>