Saltar navegación

Os datos con pandas

Librería Pandas
Marc Garcia. Librería Numpy (CC BY-SA)

Pandas é unha librería de Python que nos permite traballar con datos dunha maneira moi fácil e eficiente. 

Imaxínate que tes unha gran cantidade de información, como as notas de todos os seus compañeiros en diferentes materias e en diferentes cursos Pandas axúdache a organizar, analizar e transformar estes datos de forma rápida.

Exemplos:

Notas de clase: Poderiamos usar pandas para calcular a media das notas de cada materia.

Deportes: Se queremos saber quen é o máximo goleador dun equipo de fútbol ao longo dunha tempada.

Redes sociais: Analizar cantos likes ou comentarios recibiu unha publicación.

Actividades de aprendizaxe

Actividade 1: Crear un DataFrame

Obxectivo: Entender como crear e visualizar un DataFrame en pandas.
Instrución: Crear e imprimir un DataFrame de alumnado e as cualificacións en matemáticas e historia.

Código Python: DataFrame de cualificacións

# Importamos a librería pandas, que nos permite traballar con datos de maneira eficiente
import pandas as pd  

# Creamos un dicionario chamado 'data' que contén información sobre estudantes e as súas notas
data = {
    'Nombre': ['Ana', 'Luis', 'Pedro', 'Marta'],  # Lista cos nomes dos estudantes
    'Matemáticas': [8.5, 9.0, 7.8, 9.2],  # Lista coas notas na materia de Matemáticas
    'Historia': [8.8, 7.6, 9.5, 8.9]  # Lista coas notas na materia de Historia
}

# Convertimos o dicionario nun DataFrame de pandas, que é unha estrutura de datos tabular (coma unha táboa)
df = pd.DataFrame(data)  

# Mostramos o DataFrame por pantalla para visualizar os datos nun formato tabular
print(df)

Actividade 2: Seleccionar datos

Obxectivo: Aprender a seleccionar columnas específicas dun DataFrame.
Instrución: Selecciona e imprime os datos da columna de notas de matemáticas, no DataFrame anterior. En Colab, non é preciso que volvas crear o DataFrame, facéndoo no mesmo caderno, os programas execútanse tendo en conta as celdas previas.

Código Python: Selección dos datos da columna matemáticas

# Seleccionamos a columna "Matemáticas" do DataFrame e gardámola na variable 'matematicas'
matematicas = df['Matemáticas']  

# Mostramos por pantalla os valores da columna de Matemáticas
print(matematicas)     

Actividade 3: Filtrar datos

Obxectivo: Filtrar filas do DataFrame según certos criterios.
Instrución: Filtrar os datos de alumnado cunha nota maior de 8 en matemáticas. En Colab, non é preciso que volvas crear o DataFrame, facéndoo no mesmo caderno, os programas execútanse tendo en conta as celdas previas.

Código Python: Filtrado por nota>8 en matemáticas

# Filtramos os estudantes que teñen unha nota superior a 8 en Matemáticas  
filtro = df[df['Matemáticas'] > 8]  

# Mostramos por pantalla os estudantes que cumpren esta condición  
print(filtro)    

Actividade 4: Agregar columnas calculadas

Obxectivo: Agregar columnas novas ó DataFrame basadas en cálculos.
Instrución: Obter o promedio de notas de cada estudante en ambas materias e engadilo como columna. En Colab, non é preciso que volvas crear o DataFrame, facéndoo no mesmo caderno, os programas execútanse tendo en conta as celdas previas.

Código Python: Cálculo do promedio de notas de cada estudante

# Agregamos unha nova columna chamada "Promedio" ao DataFrame
# Calculamos a media das notas en Matemáticas e Historia para cada estudante
df['Promedio'] = df[['Matemáticas', 'Historia']].mean(axis=1)  

# Mostramos por pantalla o DataFrame actualizado, agora coa columna de promedios incluída
print(df)    

Actividade 5: Agregar filas calculadas

Obxectivo: Agregar filas novas ó DataFrame basadas en cálculos.
Instrución: Obter o promedio de notas de cada materia e engadilo como fila. En Colab, non é preciso que volvas crear o DataFrame, facéndoo no mesmo caderno, os programas execútanse tendo en conta as celdas previas.

Código Python: Calculando promedios en cada materia de todo o alumnado

# Calculamos o promedio das notas en cada materia (Matemáticas e Historia)
promedio_materias = df[['Matemáticas', 'Historia']].mean(axis=0)  

# Convertimos os resultados nun DataFrame para poder agregalos ao orixinal
fila_promedio = pd.DataFrame([promedio_materias], index=['Promedio x Materia'])  

# Usamos a función 'concat' para engadir a nova fila ao DataFrame orixinal
df = pd.concat([df, fila_promedio])  

# Mostramos o DataFrame actualizado, agora co promedio por materia como última fila
print(df)