Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
0
respuestas

07 Desafío: vamos a practicar

Para practicar los métodos aprendidos en esta lección y aprender nuevos, realizaremos algunos tratamientos y selecciones utilizando un archivo CSV diferente: alumnos.csv.

alumnos.csv

Este archivo es el mismo que se utilizó para resolver los desafíos de las aulas 1 y 3 y contiene datos de estudiantes de un curso superior. Con base en esto, resolvamos los problemas propuestos a continuación utilizando los conocimientos adquiridos hasta ahora.

Los estudiantes participaron en una actividad extracurricular y ganaron puntos extras. Estos puntos extras corresponden al 40% de su nota actual. Por lo tanto, crea una columna llamada "Puntos_extras" que contenga los puntos extras de cada estudiante, es decir, el 40% de su nota actual.

Crea otra columna llamada "Notas_finales" que contenga las notas de cada estudiante sumadas con los puntos extras.

Dado que hubo una puntuación extra, algunos estudiantes que no habían sido aprobados antes pueden haber sido aprobados ahora. En función de esto, crea una columna llamada "Aprobado_final" con los siguientes valores:

True: si el estudiante está aprobado (la nota final debe ser mayor o igual a 7.0).
False: si el estudiante está reprobado (la nota final debe ser menor que 7.0).
Realiza una selección y verifica qué estudiantes no habían sido aprobados anteriormente, pero ahora fueron aprobados después de sumar los puntos extras.

# Importar librería
import pandas as pd

# 1. Cargar el archivo CSV desde el enlace
url = 'https://gist.githubusercontent.com/ahcamachod/807a2c1cf6c19108b2b701ea1791ab45/raw/fb84f8b2d8917a89de26679eccdbc8f9c1d2e933/alumnos.csv'
df = pd.read_csv(url)

# Mostrar los primeros registros
print("Datos originales")
print(df.head())

# 2. Crear la columna 'Puntos_extras' (40% de la nota actual)
df['Puntos_extras'] = df['Nota'] * 0.4

# 3. Crear la columna 'Notas_finales'
df['Notas_finales'] = df['Nota'] + df['Puntos_extras']

# 4. Crear la columna 'Aprobado_final'
df['Aprobado_final'] = df['Notas_finales'] >= 7.0

# 5. Verificar los estudiantes que NO estaban aprobados antes, pero ahora sí
nuevos_aprobados = df[(df['Aprobado'] == False) & (df['Aprobado_final'] == True)]

print("\nEstudiantes que no estaban aprobados antes, pero ahora sí")
print(nuevos_aprobados[['Nombre', 'Nota', 'Notas_finales', 'Aprobado', 'Aprobado_final']])

# resumen general
print(df[['Nombre', 'Nota', 'Puntos_extras', 'Notas_finales', 'Aprobado', 'Aprobado_final']])