Remap values in pandas column with a dict, preserve NaNs
dataframe, dictionary, pandas, python, remap
Solution
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)`.
Problem
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?