Pandas - Limpieza de celdas vacías


celdas vacias

Las celdas vacías pueden potencialmente darte un resultado incorrecto cuando analizas datos.


Quitar filas

Una forma de lidiar con las celdas vacías es eliminar las filas que contienen celdas vacías.

Esto suele estar bien, ya que los conjuntos de datos pueden ser muy grandes y eliminar algunas filas no tendrá un gran impacto en el resultado.

Ejemplo

Devuelve un nuevo marco de datos sin celdas vacías:

import pandas as pd

df = pd.read_csv('data.csv')

new_df = df.dropna()

print(new_df.to_string())

En nuestros ejemplos de limpieza, usaremos un archivo CSV llamado 'dirtydata.csv'.

Descarga el archivo sucio.csv . o Abra datos sucios.csv

Nota: De forma predeterminada, el dropna()método devuelve un nuevo DataFrame y no cambiará el original.

Si desea cambiar el DataFrame original, use el inplace = Trueargumento:

Ejemplo

Eliminar todas las filas con valores NULL:

import pandas as pd

df = pd.read_csv('data.csv')

df.dropna(inplace = True)

print(df.to_string())

Nota: Ahora, dropna(inplace = True)NO devolverá un nuevo DataFrame, pero eliminará todas las filas que contengan valores NULL del DataFrame original.


Reemplazar valores vacíos

Otra forma de lidiar con celdas vacías es insertar un nuevo valor en su lugar.

De esta manera, no tiene que eliminar filas enteras solo por algunas celdas vacías.

El fillna()método nos permite reemplazar las celdas vacías con un valor:

Ejemplo

Reemplace los valores NULL con el número 130:

import pandas as pd

df = pd.read_csv('data.csv')

df.fillna(130, inplace = True)

Reemplazar solo para columnas especificadas

El ejemplo anterior reemplaza todas las celdas vacías en todo el marco de datos.

Para reemplazar solo los valores vacíos de una columna, especifique el nombre de la columna para el DataFrame:

Ejemplo

Reemplace los valores NULL en las columnas "Calorías" con el número 130:

import pandas as pd

df = pd.read_csv('data.csv')

df["Calories"].fillna(130, inplace = True)

w3schools CERTIFIED . 2021

¡Obtener la certificación!

¡Complete los módulos de Pandas, haga los ejercicios, tome el examen y obtendrá la certificación de w3schools!

$10 INSCRÍBETE

Reemplazar usando la media, la mediana o la moda

Una forma común de reemplazar celdas vacías es calcular el valor de la media, la mediana o la moda de la columna.

Pandas usa los métodos mean() median()y mode()para calcular los valores respectivos para una columna específica:

Ejemplo

Calcule la MEDIA y reemplace los valores vacíos con ella:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mean()

df["Calories"].fillna(x, inplace = True)

Media = el valor promedio (la suma de todos los valores dividida por el número de valores).

Ejemplo

Calcule la MEDIANA y reemplace cualquier valor vacío con ella:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].median()

df["Calories"].fillna(x, inplace = True)

Mediana = el valor en el medio, después de haber ordenado todos los valores de forma ascendente.

Ejemplo

Calcule el MODO y reemplace cualquier valor vacío con él:

import pandas as pd

df = pd.read_csv('data.csv')

x = df["Calories"].mode()[0]

df["Calories"].fillna(x, inplace = True)

Moda = el valor que aparece con más frecuencia.