我有一个简单的DataFrame和一个字典,如:
HasAttributes.php
现在,我想在字典上进行“反向映射”,使其具有另一个“ col2”和DataFrame,如下所示:
countries = alt.topo_feature(data.world_110m.url, 'countries')
source = df.copy()
map = alt.Chart(countries).mark_geoshape(
stroke='black'
).encode(
color=alt.Color('SomeStat:Q', sort="descending", scale=alt.Scale(
scheme='inferno', domain=(min_value,max_value)), legend=alt.Legend(title="", tickCount=6))
).transform_lookup(
lookup='id',
from_=alt.LookupData(source, 'CountryId', ['SomeStat', 'CountryName'])
).project(
type='mercator'
)
谢谢您的帮助!
答案 0 :(得分:5)
您可以使用dictionary comprehension和pandas.Series.map()
方法来实现。代码如下。
>>> df['col2'] = df.col1.map({item: k for k, v in dict.items() for item in v})
>>> print(df)
col1 col2
0 a x
1 b y
2 c x
3 d y