Ejercicio 10: Indexación y Filtrado
En este ejercicio, se busca que los estudiantes aprendan a seleccionar datos de un DataFrame de manera eficiente utilizando la biblioteca Pandas. Se espera que los estudiantes apliquen técnicas de indexación y filtrado para manipular y analizar datos de manera efectiva.
Objetivos
- Aprender a utilizar métodos de selección de datos en Pandas como
.loc[]
,.iloc[]
,.query()
, y boolean indexing. - Practicar la extracción de subconjuntos de datos basados en condiciones específicas.
- Identificar las especies más comunes en un conjunto de datos.
Entrada de Datos
Se proporcionará un DataFrame con la siguiente estructura:
nombre_com
: Nombre común del árbol.altura_tot
: Altura total del árbol en metros.inclinacio
: Inclinación del árbol en grados.parque
: Nombre del parque donde se encuentra el árbol.
Código Base
import pandas as pd
# Supongamos que el DataFrame se llama df y ya ha sido cargado previamente
# df = pd.read_csv('path_to_file.csv')
# Selección de columnas relevantes
columnas_relevantes = ['nombre_com', 'altura_tot', 'inclinacio']
# TODO: Implementar
Tareas
Seleccionar Columnas Relevantes: Filtrar el DataFrame para que solo contenga las columnas
nombre_com
,altura_tot
, einclinacio
.Extraer Árboles del Parque “GENERAL PAZ”: Utilizar el método
.query()
para obtener todos los registros de árboles ubicados en el parque “GENERAL PAZ”.Obtener las 10 Especies Más Comunes: Utilizar el método
.value_counts()
para identificar las 10 especies de árboles más comunes en el DataFrame.Seleccionar Árboles con Altura Mayor a 10m: Utilizar
.loc[]
para filtrar los árboles cuya altura total es mayor a 10 metros.Filtrar Árboles Inclinados Más de 30 Grados: Aplicar boolean indexing para obtener todos los árboles cuya inclinación es mayor a 30 grados.
Pruebas
Ejemplo de cómo deberían estructurarse las pruebas:
# Prueba para seleccionar columnas relevantes
df_relevante = df[columnas_relevantes]
print(df_relevante.head())
# Prueba para extraer árboles del parque "GENERAL PAZ"
df_general_paz = df.query('parque == "GENERAL PAZ"')
print(df_general_paz.head())
# Prueba para obtener las 10 especies más comunes
especies_comunes = df['nombre_com'].value_counts().head(10)
print(especies_comunes)
# Prueba para seleccionar árboles con altura mayor a 10m
arboles_altos = df.loc[df['altura_tot'] > 10]
print(arboles_altos.head())
# Prueba para filtrar árboles inclinados más de 30 grados
arboles_inclinados = df.loc[df['inclinacio'] > 30]
print(arboles_inclinados.head())
Se espera que los estudiantes sean capaces de obtener listas filtradas de árboles específicos, subconjuntos de datos basados en condiciones, y un resumen de las especies más comunes.