使用嵌套字典替换pandas数据框中的值

时间:2018-02-13 19:00:20

标签: python pandas dictionary nested

我有以下数据框和字典:

df = pd.DataFrame([{'A': 'a', 'B': 'a', 'C': 'a'}, {'A': 'b', 'B': 'b', 'C': 'b'}], columns=["A", "B", "C"])
df

     A    B    C
 0   a    a    a
 1   b    b    b

dic = { 'A': { 'a': 'label aa', 'b': 'label aaa'}, 'B': { 'a': 'label bb', 'b': 'label bbb'}, 'C': { 'a': 'label cc', 'b': 'label ccc'}}
dic

{'A': {'a': 'label aa', 'b': 'label aaa'},
 'B': {'a': 'label bb', 'b': 'label bbb'},
 'C': {'a': 'label cc', 'b': 'label ccc'}}

我想将df列与"外键匹配"。找到匹配后,我想用"内部键值"来映射行。

这是我想要的结果:

     A           B          C
0  label aa   label bb   label cc
1  label aaa  label bbb  label ccc

1 个答案:

答案 0 :(得分:2)

您正在寻找replace,您的dict创建良好,第一个键与列匹配,第二个匹配要替换的值,则值为to_replace value

df.replace(dic)
Out[764]: 
           A          B          C
0   label aa   label bb   label cc
1  label aaa  label bbb  label ccc