Día 2: Indexación, Selección y Filtrado

Bienvenida
¡Hola nuevamente! 🌟 Hoy profundizaremos en cómo acceder y filtrar datos en Pandas. La indexación y el filtrado son fundamentales para seleccionar subconjuntos de datos relevantes en proyectos de machine learning. ¡Comencemos!
Indexación Básica
Pandas proporciona varias funciones para acceder a los datos en un DataFrame:
Selección de columnas
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
# Seleccionar una sola columna
print(df['A']) # Imprime: [1, 2, 3]
# Seleccionar varias columnas
print(df[['A', 'B']]) # Imprime: [1, 2, 3] [4, 5, 6]
Sentencia loc[]
Esta función permite acceder a los datos mediante el uso de indices de fila, columnas o etiquetas. Por ejemplo:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df.loc[0, 'A']) # Imprime: 1
print(df.loc[:, 'B']) # Imprime: [4, 5, 6]
print(df.loc['A']) # Imprime: [1, 2, 3]
Sentencia iloc[]
Esta función permite acceder a los datos mediante el uso de indices numéricos. Por ejemplo:
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df.iloc[0, 0]) # Imprime: 1
print(df.iloc[:, 1]) # Imprime: [4, 5, 6]
print(df.iloc[0]) # Imprime: [1, 2, 3]
Puedes usar
loc[]
para acceder a datos específicos mediante etiquetas, yiloc[]
para acceder a datos mediante indices numéricos.
Filtrado de Datos
Pandas proporciona varias funciones para filtrar datos en un DataFrame:
Filtrado con condiciones booleanas
Seleccionar valores de la columna A
que sean mayores a 2.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df[df['A'] > 2]) # Imprime: [3, 4, 5]
Filtrado con múltiples condiciones
Seleccionar valores de la columna A
que sean mayores a 2 y menores a 5.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df[(df['A'] > 2) & (df['A'] < 5)]) # Imprime: [3, 4]
Para anidar multiples condiciones, puedes usar el operador
&
para combinarlas o el operador|
para seleccionar valores que cumplan con al menos una de las condiciones.
Filtrado usando la sentencia query()
Seleccionar valores de la columna A
que sean mayores a 2 y menores a 5.
import pandas as pd
df = pd.DataFrame({'A': [1, 2, 3], 'B': [4, 5, 6], 'C': [7, 8, 9]})
print(df.query('A > 2 and A < 5')) # Imprime: [3, 4]
Preguntas del Día 2
Prueba tus conocimientos sobre Pandas
¿Qué método se utiliza para seleccionar filas basadas en etiquetas?
¿Qué operador se usa para combinar condiciones booleanas en Pandas?
Ejercicios con Pandas
- Selecciona la primera fila de un DataFrame usando loc[] e iloc[].
- Filtra un DataFrame para obtener solo las filas donde una columna específica cumpla una condición.
¡Excelente trabajo hoy! 🙌 Ahora sabes cómo acceder y filtrar datos en Pandas. Mañana aprenderemos a manejar valores faltantes y realizar transformaciones, habilidades cruciales para limpiar datos antes de entrenar modelos de machine learning. ¡Nos vemos mañana! 👋