En esta breve guía, verá cómo soltar filas con valores NaN en Pandas DataFrame.
Para comenzar, esta es la sintaxis que puede aplicar para colocar filas con valores NaN en su DataFrame:
df.dropna()
En la siguiente sección, observará los pasos para aplicar la sintaxis anterior en la práctica.
Pasos para colocar filas con valores NaN en Pandas DataFrame
Paso 1:crear un marco de datos con valores NaN
Digamos que tiene el siguiente conjunto de datos:
valores_1 | valores_2 |
700 | DDD |
ABC | 150 |
500 | 350 |
XYZ | 400 |
1200 | 5000 |
Luego puede capturar los datos anteriores en Python creando un DataFrame:
import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) print (df)
Una vez que ejecute el código, obtendrá este DataFrame:
values_1 values_2
0 700 DDD
1 ABC 150
2 500 350
3 XYZ 400
4 1200 5000
Tenga en cuenta que el DataFrame contiene ambos:
- Datos numéricos:700, 500, 1200, 150 , 350 ,400, 5000
- Valores no numéricos:ABC, XYZ, DDD
Luego puede usar to_numeric para convertir los valores en el conjunto de datos en un formato flotante. Pero dado que 3 de esos valores no son numéricos, obtendrá 'NaN' para esos 3 valores.
Aquí está el código que puede usar para obtener los valores de NaN:
import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) df = df.apply (pd.to_numeric, errors='coerce') print (df)
Como puede observar, la primera, segunda y cuarta fila ahora tienen valores NaN:
values_1 values_2
0 700.0 NaN
1 NaN 150.0
2 500.0 350.0
3 NaN 400.0
4 1200.0 5000.0
Paso 2:suelte las filas con valores NaN en Pandas DataFrame
Para eliminar todas las filas con los valores de NaN, puede usar df.dropna().
Aquí está el código completo de Python para eliminar esas filas con los valores de NaN:
import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) df = df.apply (pd.to_numeric, errors='coerce') df = df.dropna() print (df)
Ejecute el código y verá solo dos filas sin ningún valor NaN:
values_1 values_2
2 500.0 350.0
4 1200.0 5000.0
Es posible que haya notado que esas dos filas ya no tienen un índice secuencial. Actualmente es 2 y 4. Luego puede restablecer el índice para comenzar desde 0.
Paso 3 (opcional):restablecer el índice
Puede aplicar la siguiente sintaxis para restablecer un índice en Pandas DataFrame:
df.reset_index(drop=True)
Así que este es el código completo de Python para eliminar las filas con los valores de NaN y luego restablecer el índice:
import pandas as pd df = pd.DataFrame({'values_1': ['700','ABC','500','XYZ','1200'], 'values_2': ['DDD','150','350','400','5000'] }) df = df.apply (pd.to_numeric, errors='coerce') df = df.dropna() df = df.reset_index(drop=True) print (df)
Ahora notará que el índice comienza desde 0:
values_1 values_2
0 500.0 350.0
1 1200.0 5000.0