我有一本价值词典:
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)
但这似乎不适用于列表。
是否有一种用字典替换列表值的简单方法?
答案 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]
此外,将变量命名为与保留名称类似的是恶误的业力。