擅长:python、mysql、java
<p>创建映射dict,然后应用于<code>Reference</code>列</p>
<pre class="lang-py prettyprint-override"><code>amap = {'Pop': [9, 11, 13], 'HipHop': [15, 19, 22], 'Unknown': '_'}
artist = {'Name': ['Taylor','Kanye','Alex'],'Reference': [9,15,'_']}
df = pd.DataFrame(artist, columns = ['Name', 'Reference'])
# create map dict
df_map = pd.DataFrame(amap).stack().reset_index()
map_dict = dict(zip(df_map[0], df_map['level_1']))
print(map_dict)
# {9: 'Pop', 15: 'HipHop', '_': 'Unknown', 11: 'Pop', 19: 'HipHop', 13: 'Pop', 22: 'HipHop'}
# apply map dict
df['amap'] = df['Reference'].map(map_dict)
dict(zip(df['Name'], df['amap']))
# {'Taylor': 'Pop', 'Kanye': 'HipHop', 'Alex': 'Unknown'}
</code></pre>