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

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, y iloc[] 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! 👋