Fix Python – pandas – add new column to dataframe from dictionary [duplicate]

Question

Asked By – Fabio Lamanna

I would like to add a column ‘D’ to a dataframe like this:

U,L
111,en
112,en
112,es
113,es
113,ja
113,zh
114,es

based on the following Dictionary:

d = {112: 'en', 113: 'es', 114: 'es', 111: 'en'}

so that the resulting dataframe appears as:

U,L,D
111,en,en
112,en,en
112,es,en
113,es,es
113,ja,es
113,zh,es
114,es,es

So far I tried the pd.join() method but I can’t figured out how it works with Dictionaries.

Now we will see solution for issue: pandas – add new column to dataframe from dictionary [duplicate]


Answer

Call map and pass the dict, this will perform a lookup and return the associated value for that key:

In [248]:

d = {112: 'en', 113: 'es', 114: 'es', 111: 'en'}
df['D'] = df['U'].map(d)
df
Out[248]:
     U   L   D
0  111  en  en
1  112  en  en
2  112  es  en
3  113  es  es
4  113  ja  es
5  113  zh  es
6  114  es  es

This question is answered By – EdChum

This answer is collected from stackoverflow and reviewed by FixPython community admins, is licensed under cc by-sa 2.5 , cc by-sa 3.0 and cc by-sa 4.0