1. Fundamentos del filtrado de datos en DataFrame
¿Por qué es necesario el filtrado?
Igual que los filtros en tu app favorita de selfies, el filtrado en pandas nos ayuda a enfocarnos en lo más importante. Podemos excluir los datos innecesarios y quedarnos solo con lo que realmente importa. Es una herramienta básica para el análisis de datos, especialmente cuando necesitamos preparar informes o trabajar con grandes conjuntos de datos.
Nuestro primer filtrado
Comencemos con un ejemplo sencillo. Tenemos un DataFrame
con información sobre las ventas de productos:
import pandas as pd
data = {
"Producto": ["Naranjas", "Plátanos", "Manzanas", "Naranjas", "Manzanas"],
"Cantidad": [10, 5, 8, 7, 6],
"Precio": [3.5, 2.0, 4.0, 3.0, 4.5]
}
df = pd.DataFrame(data)
# Filtrado de productos por nombre
filtered_df = df[df["Producto"] == "Naranjas"]
print(filtered_df)
Uso de condiciones
¡Podemos combinar condiciones, como en un mega filtro! Por ejemplo, busquemos todos los productos que se vendieron más de 6 unidades a un precio no mayor a 3.5 unidades monetarias:
# Combinamos condiciones usando & (lógico "y")
filtered_df = df[(df["Cantidad"] > 6) & (df["Precio"] <= 3.5)]
print(filtered_df)
Recordemos los puntos importantes
No olvides que en pandas usamos corchetes para crear filtros y paréntesis para condiciones. ¿No quieres ser "esa persona" que olvida estos detalles, verdad?
2. Ordenación de datos
¿Por qué es importante la ordenación?
Ordenar los datos nos permite ver estructura y orden en el caos (si es que los conjuntos de datos pueden ser caóticos). Por ejemplo, imagina que estás en una biblioteca donde los libros están desordenados: ¡un desastre! La ordenación nos ayuda a estructurar la información, ya sea para análisis, informes o simplemente para encontrar un valor necesario.
Ordenación por una columna
Ordenemos nuestro DataFrame
por el precio de los productos de forma ascendente:
# Ordenación ascendente por precio
sorted_df = df.sort_values(by="Precio")
print(sorted_df)
Ordenación por varias columnas
Imagina que necesitas ordenar los datos primero por cantidad y, si la cantidad es igual, por precio en orden descendente. Así se hace:
# Ordenación por cantidad y precio
sorted_df = df.sort_values(by=["Cantidad", "Precio"], ascending=[True, False])
print(sorted_df)
Particularidades de la ordenación
Presta atención al parámetro ascending
. Este permite indicar en qué orden (ascendente o descendente) deseas ordenar los datos. Es útil si planeas manejar tus datos con "intención malévola".
3. Aplicación práctica
Tarea práctica
¡Es hora de practicar lo aprendido! Supón que eres un analista en una empresa que vende gadgets. Tu tarea es encontrar todos los modelos de teléfonos que se vendieron en una cantidad superior a 100 unidades y ordenarlos por ganancias descendientes.
# Datos de ventas de teléfonos
data = {
"Modelo": ["Phone X", "Phone Y", "Phone Z", "Phone X", "Phone Y"],
"Vendidos": [120, 150, 90, 130, 80],
"Ganancia": [200, 180, 220, 210, 190]
}
df = pd.DataFrame(data)
# Filtrar modelos con ventas mayores a 100
filtered_df = df[df["Vendidos"] > 100]
# Ordenar por ganancias descendentes
sorted_df = filtered_df.sort_values(by="Ganancia", ascending=False)
print(sorted_df)
Análisis y discusión
Usa una combinación de filtrado y ordenación para obtener datos que realmente sean relevantes para ti o para tu informe. Como cualquier otra herramienta, el filtrado y la ordenación se vuelven más poderosos con la práctica. Y no olvides que unos datos bien formateados son no solo una bendición para el analista, sino también su mayor orgullo.
Errores típicos
Algunos principiantes a veces olvidan usar paréntesis en las condiciones de filtrado, lo cual conduce a errores. Es como olvidar
poner la tapa en una olla: todo puede salirse de control. Otro error común es especificar incorrectamente el orden de
ordenación en varios campos. Asegúrate de usar ascending
correctamente para no poner todo patas arriba.
Aplicación en la práctica
En la práctica, el filtrado y la ordenación son herramientas imprescindibles para cualquier analista de datos. Ayudan a obtener rápidamente los datos necesarios de conjuntos complejos y a prepararlos para informes. En el mundo real, se usan en todas partes: desde fintech hasta investigaciones médicas. Por ejemplo, los bancos pueden filtrar transacciones para detectar actividad sospechosa, y los investigadores ordenan datos de ensayos clínicos para encontrar relaciones ocultas. Sin mencionar que dominar estas herramientas puede ser un aliado útil en entrevistas de trabajo.
4. Recursos externos para el aprendizaje
Para quienes quieran estudiar el tema más a fondo, recomiendo consultar la documentación oficial de pandas, que es una excelente fuente para entender todas las posibilidades de esta biblioteca. Allí encontrarás muchos ejemplos y explicaciones que te ayudarán a dominar esta herramienta a nivel profesional.
GO TO FULL VERSION