Saltar al contenido

La desviación estándar de Pandas devuelve NaN

Posterior a de esta extensa búsqueda de información dimos con la respuesta esta contrariedad que pueden tener ciertos los lectores. Te dejamos la solución y nuestro deseo es servirte de gran ayuda.

Solución:

No es exactamente lo que se preguntó en la pregunta, pero si quería evitar NaN valores, calcule el desviación estándar de poblaciónespecificado con std(ddof=0):

>>> print(df.groupby('Category').std(ddof=0))
                 A         B         C         D         E         F
Category                                                            
A         0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
B         0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
C         0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
D         0.248192  0.195198  0.275101  0.194955  0.190215  0.052423
E         0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
F         0.288417  0.127854  0.065012  0.110096  0.354885  0.191643
G         0.000000  0.000000  0.000000  0.000000  0.000000  0.000000
H         0.000000  0.000000  0.000000  0.000000  0.000000  0.000000

Tenga en cuenta los diferentes valores predeterminados para ddof (Grados de libertad delta):

  • pandas: DataFrame.std tiene por defecto ddof=1 por desviación estándar de la muestra (divisor: norte − 1)
  • NúmPy: numpy.std tiene por defecto ddof=0 por desviación estándar de población (divisor: norte)

Tú podrías fillna para reemplazar los valores que faltan – pasando en un DataFrame con el último valor de cada grupo.

In [86]: (df.groupby('Category').std()
    ...:    .fillna(df.groupby('Category').last()))

Out[86]: 
                 A         B         C         D         E         F
Category                                                            
A         0.500200  0.791039  0.498083  0.360320  0.965992  0.537068
B         0.714371  0.636975  0.153347  0.936872  0.000649  0.692558
C         0.295330  0.638823  0.133570  0.272600  0.647285  0.737942
D         0.350996  0.276052  0.389051  0.275708  0.269005  0.074137
E         0.639271  0.486151  0.860172  0.870838  0.831571  0.404813
F         0.407883  0.180813  0.091941  0.155699  0.501884  0.271024
G         0.384157  0.858391  0.278563  0.677627  0.998458  0.829019
H         0.109465  0.085861  0.440557  0.925500  0.767791  0.626924

Te mostramos reseñas y valoraciones

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *