如何将值从嵌套字典映射到数据框中的多个列

时间:2020-03-10 15:12:46

标签: pandas dictionary

例如:我有这样的df:

id      Status         Country       Income
1          4               2          3
2          5               3          2 

和这样的字典:

d_dict = {Status : { '4':'Married', '5':'UnMarried'},
        Country: { '2': 'Japan' , '3': 'China'},
        Income: {'3': "5000-10000", 2: "11000-20000"}}

我想基于嵌套字典映射值。我可以为这样的一列做

for k,v in d_dict.items():
    max_d[k] = max(v, key=v.get)
df['Status'] = df['Status'].map(max_d)

但是我有超过2000列,而且我不确定如何处理多列。

1 个答案:

答案 0 :(得分:1)

您可以尝试replace

df=df.astype(str).replace(d_dict)
df
Out[259]: 
   id     Status Country      Income
0   1    Married   Japan  5000-10000
1   2  UnMarried   China 11000-20000
相关问题