Solucionado (ver solución)
Solucionado
(ver solución)
1
respuesta

[Sugerencia] ERROR EN RESPUESTA CORRECTA DE CONSIGNA

En el siguiente ejerciciohttps://app.aluracursos.com/course/python-pandas-tratamiento-analisis-datos/task/75411

Llenando datos faltantes PRÓXIMA ACTIVIDAD

Suponga el siguiente conjunto de datos:

atletas = pd.DataFrame([
['Marcos', 9.62], ['Pedro', None], ['Juan', 9.69], 
['Beto', 9.72], ['Sandro', None], ['Denis', 9.69], 
['Ary', None], ['Carlos', 9.74]], 
columns = ['Corredor', 'Mejor tiempo'])
atletas

Tenga en cuenta que el tiempo de algunos atletas no se registró debido a un error en el proceso de medición. Observando los datos y teniendo un conocimiento previo del desempeño de cada atleta, usted, como científico de datos, decide que es razonable para este caso específico atribuir el tiempo promedio de todos los atletas a los datos faltantes. Marque la forma correcta de hacer esto en Colab:

LA RESPUESTA MARCADA COMO CORRECTA ES LA OPCIÓN "B" QUE DICE

atletas.fillna(atletas.mean(), inplace = True)

Sin embargo para que sea correcta hay que cambiar el "True" del final por "False", de lo contrario arroja el siguiente mensaje que dice :1: FutureWarning: Dropping of nuisance columns in DataFrame reductions (with 'numeric_only=None') is deprecated; in a future version this will raise TypeError. Select only valid columns before calling the reduction. atletas.fillna(atletas.mean(), inplace = True)

La respuesta correcta es:

atletas.fillna(atletas.mean(), inplace = False)

Saludos

1 respuesta
solución!

Hola Horacio, espero que estés bien!

inplace=True se utiliza para modificar el contenedor original sin devolver nada, por lo que no ves el dataframe (o DF).

Sin embargo, con inplace=False no cambia el contenido original y devuelve el DF copia (y modificado), en este caso, es necesario guardar este retorno en una variable para no perder su contenido.

El error que informa (indepente del inplace) es que ocurren comparaciones de promedio con textos, en este ejemplo valores de la columna 'Corredor', por eso este error es informado. Para resolverlo, lo correcto sería el código de esta manera:

atletas.fillna(atletas['Mejor tiempo'].mean(), inplace = True)

Saludos y buenos estudios!