Lección 4.2: Indexación Booleana
Indexación Booleana en Pandas
Introducción
¡Hola a todos! Soy Yuscu Mejía y en esta lección vamos a aprender sobre la indexación booleana en pandas. Esta técnica es esencial para filtrar datos en DataFrames utilizando condiciones lógicas.
Conceptos Básicos
Las técnicas que exploraremos en esta lección son:
- Indexación booleana para filtrar datos basados en condiciones.
- Uso de operadores lógicos para combinar múltiples condiciones.
Ejemplos
A continuación, Yuscu Mejía te mostrará algunos ejemplos de cómo utilizar la indexación booleana con pandas:
- Filtrar filas donde los valores de una columna cumplen una condición específica.
- Combinar múltiples condiciones lógicas para un filtrado más avanzado.
# Importar Pandas
import pandas as pd
# Crear un DataFrame
data = {
'Nombre': ['Ana', 'Luis', 'Carlos', 'María', 'Juan'],
'Edad': [23, 34, 45, 29, 32],
'Salario': [50000, 60000, 70000, 55000, 65000]
}
df = pd.DataFrame(data)
# Filtrar filas donde la Edad es mayor de 30
print("Filtrar filas donde la Edad es mayor de 30:")
print(df[df['Edad'] > 30])
# Filtrar filas donde la Edad es mayor de 30 y el Salario es mayor de 60000
print("\nFiltrar filas donde la Edad es mayor de 30 y el Salario es mayor de 60000:")
print(df[(df['Edad'] > 30) & (df['Salario'] > 60000)])
Práctica
Explora cómo aplicar la indexación booleana para filtrar datos en pandas siguiendo nuestro tutorial en video presentado por Yuscu Mejía:
Ejercicio 1: Filtrar datos
Con la guía de Yuscu Mejía, realiza las siguientes tareas utilizando un DataFrame:
- a) Filtra las filas donde el salario es mayor de 60000.
- b) Filtra las filas donde la edad es menor de 30.
- c) Filtra las filas donde el nombre es ‘Ana’ o ‘Luis’.
#Ejercicio 1
a-c) Filtrar datos
import pandas as pd
# Crear un DataFrame
data = {
'Nombre': ['Ana', 'Luis', 'Carlos', 'María', 'Juan'],
'Edad': [23, 34, 45, 29, 32],
'Salario': [50000, 60000, 70000, 55000, 65000]
}
df = pd.DataFrame(data)
# Filtrar filas donde el salario es mayor de 60000
print("Filas donde el salario es mayor de 60000:")
print(df[df['Salario'] > 60000])
# Filtrar filas donde la edad es menor de 30
print("\nFilas donde la edad es menor de 30:")
print(df[df['Edad'] < 30])
# Filtrar filas donde el nombre es 'Ana' o 'Luis'
print("\nFilas donde el nombre es 'Ana' o 'Luis':")
print(df[df['Nombre'].isin(['Ana', 'Luis'])])

