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

[Bug] AttributeError: 'Series' object has no attribute 'mad' o DataFrame' object has no attribute 'mad

Bue dia Siguiendo el ejercicio propuesto por la profe pars sacar la desviacion media estandar con .mad ()

notas_maria['María'].mad()

Arroja el siguiente error:

AttributeError                            Traceback (most recent call last)
<ipython-input-143-d3ef8bcfdbcf> in <cell line: 1>()
----> 1 notas_maria['María'].mad()
      2 
      3 

/usr/local/lib/python3.10/dist-packages/pandas/core/generic.py in __getattr__(self, name)
   5987         ):
   5988             return self[name]
-> 5989         return object.__getattribute__(self, name)
   5990 
   5991     def __setattr__(self, name: str, value) -> None:

AttributeError: 'Series' object has no attribute 'mad'

Pregunte a Luri por el error y me arroja la siguiente solucion que no funciona:

desviacion_media_absoluta_maria = notas_maria.mad()
print(desviacion_media_absoluta_maria)
AttributeError: 'DataFrame' object has no attribute 'mad'

otra vez y no:

desviacion_media_absoluta_maria = notas_maria["María"].mad()
print(desviacion_media_absoluta_maria)
AttributeError: 'Series' object has no attribute 'mad'
1 respuesta
solución!

Hola Claudia, cómo va?

Parece que el método mad() ya no está en pandas desde la versión 1.5.0 debido a ciertos problemas, incluyendo la confusión entre el uso de mad para desviación media absoluta y otros estadísticos como la media o mediana.

Para realizar el cálculo de desviación media absoluta que se cubrió en la clase, puedes seguir las instrucciones paso a paso que proporcionó el instructor antes de la actualización de mad(). Sin embargo, el cálculo puede simplificarse con este código:

desvio_medio_absoluto_2 = abs(notas_fulano['Fulano'] - notas_fulano['Fulano'].mean()).mean()

Este código calcula la desviación media absoluta tomando la media de las diferencias absolutas entre las notas y la media de las notas. ¡Espero que esto te sea de ayuda y no dudes en preguntar si tienes más dudas! :)

Un fuerte abrazo.

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