1
respuesta

[Sugerencia] Otra forma de resolver

Declaramos las medias:

media_con_diabetes = personas_con_diabetes.glicemia.mean().round(2)
media_sin_diabetes = personas_sin_diabetes.glicemia.mean().round(2)

Pasamos el dataframe a Pandas porque ADS no tiene la el método loc:

df = ds.to_pandas()

Filtramos todas las filas con diabetes == 1 y sus respectivas glicemias, y luego rellenamos los NaN:

df.loc[df['diabetes'] == 1, 'glicemia'] = df.loc[df['diabetes'] == 1, 'glicemia'].fillna(media_con_diabetes)
df.loc[df['diabetes'] == 0, 'glicemia'] = df.loc[df['diabetes'] == 0, 'glicemia'].fillna(media_sin_diabetes)

Transformamos el DataFrame en ADSDataset y agregamos el target para que no de problemas en el Aula 4:

ds = DatasetFactory.open(df, target = 'riesgo_eac_decada')

Corroboramos los resultados:

ds.isnull().sum()
ds.shape
1 respuesta

¡Hola Bruno! Cómo estás?

Gracias por tu sugerencia y por compartir con los demás compañeros del foro. Te recomiendo que interactúes con el resto de tus compañeros en el Discord. En virtud de que en Discord el alcance es mayor, la interacción es inmediata y llega a más compañeros.

Si este post te ayudó, por favor, marca como solucionado ✓.