pandas - Using python df.replace with dict does not permanently change values -


i generated dataframe includes column called "pred_categories" numerical values of 0, 1, 2, , 3. see below:

         fileids          pred_categories 0  /saf/da192069.txt                3 1  /med/da000038.txt                2 2  /med/da000040.txt                2 3  /saf/da191905.txt                3 4  /med/da180730.txt                2 

i wrote dict:

di = {3: "saf", 2: "med", 1: "fac", 0: "env"} 

and works @ first:

df.replace({'pred_categories': di}) out[16]:            fileids           pred_categories 0   /saf/da192069.txt               saf 1   /med/da000038.txt               med 2   /med/da000040.txt               med 3   /saf/da191905.txt               saf 4   /med/da180730.txt               med 5   /saf/da192307.txt               saf 6   /env/da178021.txt               env 7   /fac/da358334.txt               fac 8   /env/da178049.txt               env 9   /env/da178020.txt               env 10  /env/da178031.txt               env 11  /med/da000050.txt               med 12  /med/da180720.txt               med 13  /med/da000010.txt               med 14  /fac/da358391.txt               fac 

but when checking

 df.head() 

it doesn't seem permanently "save" in dataframe. pointers on i'm doing wrong?

 print(df)           fileids             pred_categories   0   /saf/da192069.txt                3   1   /med/da000038.txt                2   2   /med/da000040.txt                2   3   /saf/da191905.txt                3   4   /med/da180730.txt                2   5   /saf/da192307.txt                3   6   /env/da178021.txt                0   7   /fac/da358334.txt                1   8   /env/da178049.txt                0   9   /env/da178020.txt                0   10  /env/da178031.txt                0   11  /med/da000050.txt                2   12  /med/da180720.txt                2   13  /med/da000010.txt                2   14  /fac/da358391.txt                1 

per default .replace() returns changed df, doesn't change in place, have way:

df = df.replace({'pred_categories': di}) 

or

df.replace({'pred_categories': di}, inplace=true)