简体   繁体   中英

Python map values from dictionary to dataframe

I have a pandas dataframe which looks like as follows:

df = 
    key     value
1   Level       1
2   Age        35 
3   Height    180
4   Gender      0
...

and a dictionary as follows:

my_dict = {
           'Level':{0: 'Low', 1:'Medium', 2:'High'},
           'Gender': {0: 'Female', 1: 'Male'}
          }

I want to map from the dictionary to the dataframe and change the 'value' column with its corresponding value in the dictionary such as the output becomes:

    key        value
1   Level     Medium
2   Age           35 
3   Height       180
4   Gender    Female
...

Its okay for other values in the column become a string as well. How can I achieve this? Thanks for the help.

Check with replace

out = df.set_index('key').T.replace(my_dict).T.reset_index()
out
Out[27]: 
      key   value
0   Level  Medium
1     Age      35
2  Height     180
3  Gender  Female

 df.at[1, 'value'] = my_dict['Level'][df.at[1, 'value']] df.at[4, 'value'] = my_dict['Gender'][df.at[4, 'value']]

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM