How To Replace Column Values With Dictionary Keys In Pandas
I hava a df,  A     B  one   six  two   seven  three level  five   one  and a dictioinary my_dict={1:'one,two',2:'three,four'}  I want to  replace df.A with my_dict keys() my desir
Solution 1:
You need dict comprehension for separate each values to keys first:
my_dict={1:"one,two",2:"three,four"}
d = {k: oldk for oldk, oldv in my_dict.items() for k in oldv.split(',')}
print (d)
{'one': 1, 'three': 2, 'four': 2, 'two': 1}
df.A = df.A.replace(my_dict)
Solution 2:
Here is one solution via map / fillna:
d = {v_i: k for k, v in my_dict.items() for v_i in v.split(',')}
df['A'] = df['A'].map(d).fillna(df['A'])
#       A      B# 0     1    six# 1     1  seven# 2     2  level# 3  five    one
Post a Comment for "How To Replace Column Values With Dictionary Keys In Pandas"