熊猫-列表中dict值的映射列

时间:2020-04-10 07:41:19

标签: python pandas

我有一个简单的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'
)

谢谢您的帮助!

1 个答案:

答案 0 :(得分:5)

您可以使用dictionary comprehensionpandas.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