Capítulo 3: Preprocesamiento de Datos
3.6 Ejercicios Prácticos
Los ejercicios prácticos son una excelente manera de reforzar los conceptos que hemos aprendido en este capítulo. Vamos a sumergirnos en algunos ejercicios que te ayudarán a obtener experiencia práctica en el preprocesamiento de datos.
Ejercicio 1: Limpieza de Datos
Dado el siguiente DataFrame, realiza la limpieza de datos llenando los valores faltantes con la media de la columna respectiva:
import pandas as pd
import numpy as np
# Create a DataFrame with missing values
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, 4, 5],
'C': [1, 2, 3, np.nan, np.nan]
})
# Drop rows with missing values
df_dropped_rows = df.dropna()
# Drop columns with missing values
df_dropped_columns = df.dropna(axis=1)
# Fill missing values with a specific value (e.g., 0)
df_filled = df.fillna(0)
# Fill missing values with the mean of the column
df_filled_mean = df.fillna(df.mean())
# Impute missing values using forward fill
df_ffill = df.fillna(method='ffill')
# Impute missing values using backward fill
df_bfill = df.fillna(method='bfill')
print("DataFrame with dropped rows:")
print(df_dropped_rows)
print("\nDataFrame with dropped columns:")
print(df_dropped_columns)
print("\nDataFrame with missing values filled with 0:")
print(df_filled)
print("\nDataFrame with missing values filled with column means:")
print(df_filled_mean)
print("\nDataFrame with missing values filled using forward fill:")
print(df_ffill)
print("\nDataFrame with missing values filled using backward fill:")
print(df_bfill)
Ejercicio 2: Ingeniería de Características
Dado el siguiente DataFrame, crea una nueva característica 'D' que sea el producto de 'A', 'B' y 'C':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
'C': [3, 4, 5, 6, 7]
})
# Display the DataFrame
print(df)
Ejercicio 3: Manejo de Datos Categóricos
Dado el siguiente DataFrame, realiza una codificación one-hot en la característica 'color':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'color': ['red', 'blue', 'green', 'red', 'blue']
})
# Display the DataFrame
print(df)
Ejercicio 4: Escalado y Normalización de Datos
Dado el siguiente DataFrame, realiza una estandarización en todas las características:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
})
# Display the DataFrame
print(df)
Ejercicio 5: División de Entrenamiento y Prueba
Dado el siguiente DataFrame y la variable objetivo, realiza una división de entrenamiento y prueba con un tamaño de prueba del 0.3 y un estado aleatorio de 42:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'B': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
# Create a target variable
y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
# Add the target variable as a new column in the DataFrame
df['target'] = y
# Display the combined DataFrame
print(df)
Esperamos que estos ejercicios te ayuden a comprender mejor la preprocesamiento de datos. ¡Feliz programación!
3.6 Ejercicios Prácticos
Los ejercicios prácticos son una excelente manera de reforzar los conceptos que hemos aprendido en este capítulo. Vamos a sumergirnos en algunos ejercicios que te ayudarán a obtener experiencia práctica en el preprocesamiento de datos.
Ejercicio 1: Limpieza de Datos
Dado el siguiente DataFrame, realiza la limpieza de datos llenando los valores faltantes con la media de la columna respectiva:
import pandas as pd
import numpy as np
# Create a DataFrame with missing values
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, 4, 5],
'C': [1, 2, 3, np.nan, np.nan]
})
# Drop rows with missing values
df_dropped_rows = df.dropna()
# Drop columns with missing values
df_dropped_columns = df.dropna(axis=1)
# Fill missing values with a specific value (e.g., 0)
df_filled = df.fillna(0)
# Fill missing values with the mean of the column
df_filled_mean = df.fillna(df.mean())
# Impute missing values using forward fill
df_ffill = df.fillna(method='ffill')
# Impute missing values using backward fill
df_bfill = df.fillna(method='bfill')
print("DataFrame with dropped rows:")
print(df_dropped_rows)
print("\nDataFrame with dropped columns:")
print(df_dropped_columns)
print("\nDataFrame with missing values filled with 0:")
print(df_filled)
print("\nDataFrame with missing values filled with column means:")
print(df_filled_mean)
print("\nDataFrame with missing values filled using forward fill:")
print(df_ffill)
print("\nDataFrame with missing values filled using backward fill:")
print(df_bfill)
Ejercicio 2: Ingeniería de Características
Dado el siguiente DataFrame, crea una nueva característica 'D' que sea el producto de 'A', 'B' y 'C':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
'C': [3, 4, 5, 6, 7]
})
# Display the DataFrame
print(df)
Ejercicio 3: Manejo de Datos Categóricos
Dado el siguiente DataFrame, realiza una codificación one-hot en la característica 'color':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'color': ['red', 'blue', 'green', 'red', 'blue']
})
# Display the DataFrame
print(df)
Ejercicio 4: Escalado y Normalización de Datos
Dado el siguiente DataFrame, realiza una estandarización en todas las características:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
})
# Display the DataFrame
print(df)
Ejercicio 5: División de Entrenamiento y Prueba
Dado el siguiente DataFrame y la variable objetivo, realiza una división de entrenamiento y prueba con un tamaño de prueba del 0.3 y un estado aleatorio de 42:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'B': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
# Create a target variable
y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
# Add the target variable as a new column in the DataFrame
df['target'] = y
# Display the combined DataFrame
print(df)
Esperamos que estos ejercicios te ayuden a comprender mejor la preprocesamiento de datos. ¡Feliz programación!
3.6 Ejercicios Prácticos
Los ejercicios prácticos son una excelente manera de reforzar los conceptos que hemos aprendido en este capítulo. Vamos a sumergirnos en algunos ejercicios que te ayudarán a obtener experiencia práctica en el preprocesamiento de datos.
Ejercicio 1: Limpieza de Datos
Dado el siguiente DataFrame, realiza la limpieza de datos llenando los valores faltantes con la media de la columna respectiva:
import pandas as pd
import numpy as np
# Create a DataFrame with missing values
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, 4, 5],
'C': [1, 2, 3, np.nan, np.nan]
})
# Drop rows with missing values
df_dropped_rows = df.dropna()
# Drop columns with missing values
df_dropped_columns = df.dropna(axis=1)
# Fill missing values with a specific value (e.g., 0)
df_filled = df.fillna(0)
# Fill missing values with the mean of the column
df_filled_mean = df.fillna(df.mean())
# Impute missing values using forward fill
df_ffill = df.fillna(method='ffill')
# Impute missing values using backward fill
df_bfill = df.fillna(method='bfill')
print("DataFrame with dropped rows:")
print(df_dropped_rows)
print("\nDataFrame with dropped columns:")
print(df_dropped_columns)
print("\nDataFrame with missing values filled with 0:")
print(df_filled)
print("\nDataFrame with missing values filled with column means:")
print(df_filled_mean)
print("\nDataFrame with missing values filled using forward fill:")
print(df_ffill)
print("\nDataFrame with missing values filled using backward fill:")
print(df_bfill)
Ejercicio 2: Ingeniería de Características
Dado el siguiente DataFrame, crea una nueva característica 'D' que sea el producto de 'A', 'B' y 'C':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
'C': [3, 4, 5, 6, 7]
})
# Display the DataFrame
print(df)
Ejercicio 3: Manejo de Datos Categóricos
Dado el siguiente DataFrame, realiza una codificación one-hot en la característica 'color':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'color': ['red', 'blue', 'green', 'red', 'blue']
})
# Display the DataFrame
print(df)
Ejercicio 4: Escalado y Normalización de Datos
Dado el siguiente DataFrame, realiza una estandarización en todas las características:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
})
# Display the DataFrame
print(df)
Ejercicio 5: División de Entrenamiento y Prueba
Dado el siguiente DataFrame y la variable objetivo, realiza una división de entrenamiento y prueba con un tamaño de prueba del 0.3 y un estado aleatorio de 42:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'B': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
# Create a target variable
y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
# Add the target variable as a new column in the DataFrame
df['target'] = y
# Display the combined DataFrame
print(df)
Esperamos que estos ejercicios te ayuden a comprender mejor la preprocesamiento de datos. ¡Feliz programación!
3.6 Ejercicios Prácticos
Los ejercicios prácticos son una excelente manera de reforzar los conceptos que hemos aprendido en este capítulo. Vamos a sumergirnos en algunos ejercicios que te ayudarán a obtener experiencia práctica en el preprocesamiento de datos.
Ejercicio 1: Limpieza de Datos
Dado el siguiente DataFrame, realiza la limpieza de datos llenando los valores faltantes con la media de la columna respectiva:
import pandas as pd
import numpy as np
# Create a DataFrame with missing values
df = pd.DataFrame({
'A': [1, 2, np.nan, 4, 5],
'B': [np.nan, 2, 3, 4, 5],
'C': [1, 2, 3, np.nan, np.nan]
})
# Drop rows with missing values
df_dropped_rows = df.dropna()
# Drop columns with missing values
df_dropped_columns = df.dropna(axis=1)
# Fill missing values with a specific value (e.g., 0)
df_filled = df.fillna(0)
# Fill missing values with the mean of the column
df_filled_mean = df.fillna(df.mean())
# Impute missing values using forward fill
df_ffill = df.fillna(method='ffill')
# Impute missing values using backward fill
df_bfill = df.fillna(method='bfill')
print("DataFrame with dropped rows:")
print(df_dropped_rows)
print("\nDataFrame with dropped columns:")
print(df_dropped_columns)
print("\nDataFrame with missing values filled with 0:")
print(df_filled)
print("\nDataFrame with missing values filled with column means:")
print(df_filled_mean)
print("\nDataFrame with missing values filled using forward fill:")
print(df_ffill)
print("\nDataFrame with missing values filled using backward fill:")
print(df_bfill)
Ejercicio 2: Ingeniería de Características
Dado el siguiente DataFrame, crea una nueva característica 'D' que sea el producto de 'A', 'B' y 'C':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [2, 3, 4, 5, 6],
'C': [3, 4, 5, 6, 7]
})
# Display the DataFrame
print(df)
Ejercicio 3: Manejo de Datos Categóricos
Dado el siguiente DataFrame, realiza una codificación one-hot en la característica 'color':
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'color': ['red', 'blue', 'green', 'red', 'blue']
})
# Display the DataFrame
print(df)
Ejercicio 4: Escalado y Normalización de Datos
Dado el siguiente DataFrame, realiza una estandarización en todas las características:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5],
'B': [10, 20, 30, 40, 50],
'C': [100, 200, 300, 400, 500]
})
# Display the DataFrame
print(df)
Ejercicio 5: División de Entrenamiento y Prueba
Dado el siguiente DataFrame y la variable objetivo, realiza una división de entrenamiento y prueba con un tamaño de prueba del 0.3 y un estado aleatorio de 42:
import pandas as pd
# Create a DataFrame
df = pd.DataFrame({
'A': [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],
'B': [10, 20, 30, 40, 50, 60, 70, 80, 90, 100]
})
# Create a target variable
y = [0, 0, 0, 0, 0, 1, 1, 1, 1, 1]
# Add the target variable as a new column in the DataFrame
df['target'] = y
# Display the combined DataFrame
print(df)
Esperamos que estos ejercicios te ayuden a comprender mejor la preprocesamiento de datos. ¡Feliz programación!