Как отобразить значение из вложенного словаря в несколько столбцов в кадре данных - PullRequest
0 голосов
/ 10 марта 2020

Например: у меня есть 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 Ответ

1 голос
/ 10 марта 2020

Можете попробовать 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
...