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