Cómo soltar filas con valores NaN en Pandas

A menudo, puede estar interesado en eliminar filas que contienen valores NaN en un DataFrame de pandas. Afortunadamente, esto es fácil de hacer usando la función pandas dropna () .

Este tutorial muestra varios ejemplos de cómo usar esta función en los siguientes pandas DataFrame:

importar numpy como np
 importar scipy.stats como estadísticas

#create DataFrame con algunos valores NaN
df = pd.DataFrame ({'rating': [np.nan, 85, np.nan, 88, 94, 90, 76, 75, 87, 86],
                   'puntos': [np.nan, 25, 14, 16, 27, 20, 12, 15, 14, 19],
                   'asiste': [5, 7, 7, np.nan, 5, 7, 6, 9, 9, 5],
                   'rebotes': [11, 8, 10, 6, 6, 9, 6, 10, 10, 7]})

#view DataFrame
 df


        puntos de calificación ayuda a rebotes
0 NaN NaN 5,0 11
1 85,0 25,0 7,0 8
2 NaN 14,0 7,0 10
3 88,0 16,0 NaN 6
4 94,0 27,0 5,0 6
5 90,0 20,0 7,0 9
6 76,0 12,0 6,0 6
7 75,0 15,0 9,0 10
8 87,0 14,0 9,0 10
9 86,0 19,0 5,0 7

Ejemplo 1: eliminar filas con cualquier valor de NaN

Podemos utilizar la siguiente sintaxis para soltar todas las filas que tienen algún valores NaN:

df. dropna ()

	puntos de calificación ayuda a rebotes
1 85,0 25,0 7,0 8
4 94,0 27,0 5,0 6
5 90,0 20,0 7,0 9
6 76,0 12,0 6,0 6
7 75,0 15,0 9,0 10
8 87,0 14,0 9,0 10
9 86,0 19,0 5,0 7

Ejemplo 2: Eliminar filas con todos los valores NaN

Podemos usar la siguiente sintaxis para eliminar todas las filas que tienen todos los valores de NaN en cada columna:

df. dropna (cómo = ' todo ')

        puntos de calificación ayuda a rebotes
0 NaN NaN 5,0 11
1 85,0 25,0 7,0 8
2 NaN 14,0 7,0 10
3 88,0 16,0 NaN 6
4 94,0 27,0 5,0 6
5 90,0 20,0 7,0 9
6 76,0 12,0 6,0 6
7 75,0 15,0 9,0 10
8 87,0 14,0 9,0 10
9 86,0 19,0 5,0 7

No había filas con todos los valores de NaN en este DataFrame en particular, por lo que no se eliminó ninguna de las filas.

Ejemplo 3: colocar filas por debajo de un determinado umbral

Podemos usar la siguiente sintaxis para eliminar todas las filas que no tienen un cierto al menos cierto número de valores que no son NaN:

df. dropna ( umbral = 3 )

	puntos de calificación ayuda a rebotes
1 85,0 25,0 7,0 8
2 NaN 14,0 7,0 10
3 88,0 16,0 NaN 6
4 94,0 27,0 5,0 6
5 90,0 20,0 7,0 9
6 76,0 12,0 6,0 6
7 75,0 15,0 9,0 10
8 87,0 14,0 9,0 10
9 86,0 19,0 5,0 7

La primera fila del DataFrame original no tenía al menos 3 valores distintos de NaN, por lo que fue la única fila que se eliminó.

Ejemplo 4: Eliminar fila con valores Nan en una columna específica

Podemos usar la siguiente sintaxis para eliminar todas las filas que tienen un valor NaN en una columna específica:

df. dropna (subconjunto = [' asistencias '])

	puntos de calificación ayuda a rebotes
0 NaN NaN 5,0 11
1 85,0 25,0 7,0 8
2 NaN 14,0 7,0 10
4 94,0 27,0 5,0 6
5 90,0 20,0 7,0 9
6 76,0 12,0 6,0 6
7 75,0 15,0 9,0 10
8 87,0 14,0 9,0 10
9 86,0 19,0 5,0 7

Ejemplo 5: restablecer el índice después de eliminar filas con NaN

Podemos usar la siguiente sintaxis para restablecer el índice del DataFrame después de eliminar las filas con los valores NaN:

# borre todas las filas que tengan valores NaN 
df = df. dropna ()

#reset index of DataFrame 
df = df. reset_index (drop = True)

#view DataFrame
df

        puntos de calificación ayuda a rebotes
0 85,0 25,0 7,0 8
1 94,0 27,0 5,0 6
2 90,0 20,0 7,0 9
3 76,0 12,0 6,0 6
4 75,0 15,0 9,0 10
5 87,0 14,0 9,0 10
6 86,0 19,0 5,0 77

Puede encontrar la documentación completa para la función dropna () aquí .

  • https://r-project.org
  • https://www.python.org/
  • https://www.stata.com/

Deja un comentario

Cuando realiza una prueba de chi-cuadrado, obtendrá una estadística de prueba como resultado. Para determinar si los resultados de la…
statologos comunidad-2

Compartimos información EXCLUSIVA y GRATUITA solo para suscriptores (cursos privados, programas, consejos y mucho más)

You have Successfully Subscribed!