Remap values in pandas column with a dict

I have a dictionary which looks like this: di = {1: "A", 2: "B"}

I would like to apply it to the "col1" column of a dataframe similar to:

         col1   col2
    0       w      a
    1       1      2
    2       2    NaN

to get:

         col1   col2
    0       w      a
    1       A      2
    2       B    NaN

How can I best do this? For some reason googling terms relating to this only shows me links about how to make columns from dicts and vice-versa :-/

You can use .replace. For example:

    >>> df = pd.DataFrame({'col2': {0: 'a', 1: 2, 2: np.nan}, 'col1': {0: 'w', 1: 1, 2: 2}})
    >>> di = {1: "A", 2: "B"}
    >>> df
      col1 col2
    0    w    a
    1    1    2
    2    2  NaN
    >>> df.replace({"col1": di})
      col1 col2
    0    w    a
    1    A    2
    2    B  NaN

or directly on the Series, i.e. df["col1"].replace(di, inplace=True).

From: stackoverflow.com/q/20250771

Back to homepage or read more recommendations: