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)