viernes, 13 de febrero de 2026

Python For Data Science. Limpieza de datos en Python

 

Guía de referencia: Limpieza de datos en Python
Estado: Traducido automáticamente del Inglés

Información:
Este elemento incluye contenido que aún no se tradujo a tu idioma preferido.

Esta guía de referencia contiene funciones y métodos comunes que los profesionales de los datos utilizan para limpiar los datos. La guía de referencia contiene tres tablas diferentes de herramientas útiles, cada una agrupada por categoría de limpieza: datos que faltan, valores atípicos y codificación de etiquetas.

Guardar este tema del curso

Es posible que desee guardar una copia de esta guía para futuras consultas. Puede utilizarla como recurso para practicar más o en sus futuros proyectos profesionales. Para acceder a una versión descargable de este elemento del curso, haga clic en el siguiente enlace y seleccione "Usar plantilla".

Guía de referencia: Limpieza de datos en Python

O

Si no dispone de una cuenta de Google, puede descargar el elemento directamente desde el siguiente archivo adjunto.

Datos que faltan

Las siguientes funciones y métodos de pandas son útiles cuando se trata de datos que faltan.

df.info()

  • Descripción: Un método de DataFrame que devuelve un resumen conciso del marco de datos, incluido un "recuento no nulo", que le ayuda a conocer el número de valores que faltan

    Ejemplo:

>>print(df)
>>print()
>>df.info()

>>>
planet radius_km moons 0 Mercury 2440 0 1 Venus 6052 0 2 Earth 6371 1 3 Mars 3390 2 4 Jupiter 69911 80 5 Saturn 58232 83 6 Uranus 25362 27 7 Neptune 24622 14 <class 'pandas.core.frame.DataFrame'> RangeIndex: 8 entries, 0 to 7 Data columns (total 3 columns): planet 8 non-null object radius_km 8 non-null int64 moons 8 non-null int64 dtypes: int64(2), object(1) memory usage: 272.0+ bytes <class 'pandas.core.frame.DataFrame'> RangeIndex: 8 entries, 0 to 7 Data columns (total 3 columns): planet 8 non-null object radius_km 8 non-null int64 moons 8 non-null int64 dtypes: int64(2), object(1) memory usage: 272.0+ bytes None


  • Descripción: pd.isna() es una función de pandas que devuelve una matriz booleana del mismo tamaño indicando si cada valor es nulo (también puede utilizar pd.isnull() como alias). Tenga en cuenta que esta función también existe como método en DataFrame. Ejemplo:

>>print(df)
>>print('\n After pd.isnull(): \n')

>>pd.isnull(df)

>>>
Planet radius_km moons 0 Mercury 2440 NaN 1 Venus 6052 NaN 2 Earth 6371 1.0 3 Mars 3390 NaN 4 Jupiter 69911 80.0 5 Saturn 58232 83.0 6 Uranus 25362 27.0 7 Neptune 24622 14.0 After pd.isnull(): Planet radius_km moons 0 False False True 1 False False True 2 False False False 3 False False True 4 False False False 5 False False False 6 False False False 7 False False False



  • Descripción: Una función pandas que devuelve una matriz booleana del mismo tamaño indicando si cada valor NO es nulo (también puede utilizar pd.notnull() como alias). Tenga en cuenta que esta función también existe como método en DataFrame.

    Ejemplo:

>>print(df)
>>print('\n After notnull(): \n')
>>pd.notnull(df)

>>>
Planet radius_km moons 0 Mercury 2440 NaN 1 Venus 6052 NaN 2 Earth 6371 1.0 3 Mars 3390 NaN 4 Jupiter 69911 80.0 5 Saturn 58232 83.0 6 Uranus 25362 27.0 7 Neptune 24622 14.0 After notnull(): Planet radius_km moons 0 True True False 1 True True False 2 True True True 3 True True False 4 True True True 5 True True True 6 True True True 7 True True True



  • Descripción: Un método de DataFrame que rellena los valores que faltan utilizando el método especificado Ejemplo:

>>print(df)
>>print('\n After fillna(): \n')

>>df.fillna(2)

>>>
animal class color legs 0 cardinal Aves red NaN 1 gecko Reptilia green 4.0 2 raven Aves black NaN After fillna(): animal class color legs 0 cardinal Aves red 2.0 1 gecko Reptilia green 4.0 2 raven Aves black 2.0



Un valor de 2,3 sustituye a un NaN en una celda de datos

df.replace()

  • Descripción: Un método de DataFrame que sustituye valores especificados por otros valores especificados. También puede aplicarse a pandas Series. Ejemplo:

>>print(df)
>>print('\n After replace(): \n')

>>df.replace('Aves''bird')

>>>
animal class color legs 0 cardinal Aves red 2 1 gecko Reptilia green 4 2 raven Aves black 2 After replace(): animal class color legs 0 cardinal bird red 2 1 gecko Reptilia green 4 2 raven bird black 2

Cuatro 2 en celdas sustituyen a 0

df.dropna()

  • Descripción: Un método de DataFrame que elimina las filas o columnas que contienen valores perdidos, dependiendo del eje que se especifique. Ejemplo:

>>print('Original df: \n \n', df)
>>print('\n After dropna(axis=0): \n')
>>print(df.dropna(axis=0))

>>print('\n After dropna(axis=1): \n')
>>print(df.dropna(axis=1))

>>>

Original df: animal class color legs 0 NaN Aves red 2 1 gecko Reptilia green 4 2 raven Aves NaN 2 After dropna(axis=0): animal class color legs 1 gecko Reptilia green 4 After dropna(axis=1): class legs 0 Aves 2 1 Reptilia 4 2 Aves 2



Secuencia de números con celdas de datos de valores perdidos que se eliminan

Valores atípicos

Las siguientes herramientas son útiles cuando se trata de valores atípicos en un conjunto de datos.

df.describe()

  • Descripción: Un método de DataFrame que devuelve estadísticas generales sobre el marco de datos que pueden ayudar a determinar los valores atípicos Ejemplo:

>>print(df)
>>print()
>>df.describe()

>>>

planet radius_km moons 0 Mercury 2440 0 1 Venus 6052 0 2 Earth 6371 1 3 Mars 3390 2 4 Jupiter 69911 80 5 Saturn 58232 83 6 Uranus 25362 27 7 Neptune 24622 14 radius_km moons count 8.000000 8.00000 mean 24547.500000 25.87500 std 26191.633528 35.58265 min 2440.000000 0.00000 25% 5386.500000 0.75000 50% 15496.500000 8.00000 75% 33579.500000 40.25000 max 69911.000000 83.00000



  • Descripción: Una función de seaborn que genera un gráfico de caja. Los puntos de datos que superan 1,5 veces el rango intercuartílico se consideran valores atípicos. Ejemplo:

Diagrama de caja de ejemplo con los cuartiles mínimo, máximo, inferior y superior, y la mediana marcada

Codificación de etiquetas

Las siguientes herramientas son útiles a la hora de realizar la codificación de etiquetas.

df.astype()

  • Descripción: Un método de DataFrame que le permite codificar sus datos como un dtype especificado. Tenga en cuenta que este método también puede utilizarse en objetos Series. Ejemplo:

>>print(df)
>>print('\n Original dtypes of df: \n')

>>print(df.dtypes)

>>print('\n dtypes after casting \'class\' column as categorical: \n')

>>df['class'] = df['class'].astype('category')

>>print(df.dtypes)

>>>
animal class color legs 0 cardinal Aves red 2 1 gecko Reptilia green 4 2 raven Aves black 2 Original dtypes of df: animal object class object color object legs int64 dtype: object dtypes after casting 'class' column as categorical: animal object class category color object legs int64 dtype: object


  • Descripción: Atributo de Series que devuelve los códigos numéricos de categoría de las series.

    Ejemplo:

>># Cast 'class' column as categorical
>>df['class'] = df['class'].astype('category')

>>print('\n \'class\' column: \n')
>>print(df['class'])

>>print('\n Category codes of \'class\' column: \n')

>>df['class'].cat.codes

>>>

'class' column: 0 Aves 1 Reptilia 2 Aves Name: class, dtype: category Categories (2, object): [Aves, Reptilia] Category codes of 'class' column: 0 0 1 1 2 0 dtype: int8


  • Descripción: Una función que convierte los valores categóricos en nuevas columnas binarias -una para cada categoría diferente Ejemplo:


La columna de lluvia con valores de leve, dispersa, fuerte y severa se sustituye por cuatro nuevas columnas binarias, una para cada categoría.

LabelEncoder()

  • Descripción: Un transformador de scikit-learn.preprocessing que codifica categorías o etiquetas especificadas con códigos numéricos. Tenga en cuenta que al construir modelos predictivos sólo debe utilizarse en variables objetivo (es decir, datos y ). Ejemplo: Puede utilizarse para normalizar etiquetas:

>>from sklearn.preprocessing import LabelEncoder

>># Instantiate LabelEncoder() 
>>encoder = LabelEncoder()

>>data = [1226]

>># Fit to the data
>>encoder.fit(data)

>># Transform the data
>>transformed = encoder.transform(data)

>># Reverse the transformation
>>inverse = encoder.inverse_transform(transformed)

>>print('Data =', data)
>>print('\n Classes: \n', encoder.classes_)
>>print('\n Encoded (normalized) classes: \n', transformed)
>>print('\n Reverse from encoded classes to original: \n', inverse)

>>>
Data = [1, 2, 2, 6] Classes: [1 2 6] Encoded (normalized) classes: [0 1 1 2] Reverse from encoded classes to original: [1 2 2 6]


Puede utilizarse para convertir etiquetas categóricas en numéricas:

>>from sklearn.preprocessing import LabelEncoder


>># Instantiate LabelEncoder()
>>encoder = LabelEncoder()

>>data = ['paris''paris''tokyo''amsterdam']

>># Fit to the data
>>encoder.fit(data)

>># Transform the data
>>transformed = encoder.transform(data)

>># New data
>>new_data = [02112]

>># Get classes of new data
>>inverse = encoder.inverse_transform(new_data)

>>print('Data =', data)
>>print('\n Classes: \n'list(encoder.classes_))
>>print('\n Encoded classes: \n', transformed)
>>print('\n New data =', new_data)
>>print('\n Convert new_data to original classes: \n'list(inverse))

>>>

Data = ['paris', 'paris', 'tokyo', 'amsterdam'] Classes: ['amsterdam', 'paris', 'tokyo'] Encoded classes: [1 1 2 0] New data = [0, 2, 1, 1, 2] Convert new_data to original classes: ['amsterdam', 'tokyo', 'paris', 'paris', 'tokyo']










Puntos clave

Existen muchas herramientas que los profesionales de los datos pueden utilizar para realizar la limpieza de datos en una amplia gama de datos. La información que aprenda de los datos que faltan, los valores atípicos y la transformación de datos categóricos en numéricos le ayudará a preparar conjuntos de datos para su posterior análisis a lo largo de su carrera.

No hay comentarios.:

Publicar un comentario

Entradas recientes

Python For Data Science. Limpieza de datos en Python

  Guía de referencia: Limpieza de datos en Python Estado: Traducido automáticamente del Inglés Traducido automáticamente del Inglés Informac...

Entradas Populares