熊猫:如何用字典替换列表项?

时间:2018-02-02 22:02:01

标签: python pandas

我有一本价值词典:

Dict = {
       "KeyA":"ValueA",
       "KeyB":"ValueB",
       "KeyC":"ValueC"
       }

我有一个数据框,其中列中的值是列表:

index    Column  
0        ["KeyA", "KeyB"]
1        ["KeyB", "KeyC"]
2        ["KeyA", "KeyC"]

我想要回复:

index    Column  
0        ["ValueA", "ValueB"]
1        ["ValueB", "ValueC"]
2        ["ValueA", "ValueC"]

我尝试过使用替换功能:

df['Column'] = df['Column'].replace(Dict)

但这似乎不适用于列表。

是否有一种用字典替换列表值的简单方法?

1 个答案:

答案 0 :(得分:1)

使用apply

d = {
    "KeyA":"ValueA",
    "KeyB":"ValueB",
    "KeyC":"ValueC"
    }

df['Column'] = df['Column'].apply(lambda x: [d[i] for i in x])

输出:

             Column
0  [ValueA, ValueB]
1  [ValueB, ValueC]
2  [ValueA, ValueC]

此外,将变量命名为与保留名称类似的是恶误的业力。