Si deseamos sustituir los valores NaN según el tipo de campo del que se trate (numéricos o no), podemos recorrer la lista de columnas del dataframe analizando su tipo. Si se trata de un tipo "object", podemos rellenar los NaNs por la cadena de texto que nos interese ("None" en el ejemplo) utilizando el método "fillna", o por una cifra (0 en el ejemplo) en cualquier otro caso:
for feature in df:
if df[feature].dtype == "object":
df[feature] = df[feature].fillna("None")
else:
df[feature] = df[feature].fillna(0)
Categoría