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

Desafío Pandas

import pandas as pd
url='https://gist.githubusercontent.com/ahcamachod/807a2c1cf6c19108b2b701ea1791ab45/raw/fb84f8b2d8917a89de26679eccdbc8f9c1d2e933/alumnos.csv'
# leer los datos
pd.read_csv(url)
datos = pd.read_csv(url)

1- 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.

datos['Puntos_extras'] = datos['Nota'].apply(lambda x: x*0.4)

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

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

# La columna "Notas_finales" será la suma de las columnas "Nota" y "Puntos_extras":
datos['Notas_finales'] = datos['Nota'] + datos['Puntos_extras']
datos

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

3- 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).

datos['Aprobado_final'] = datos['Notas_finales'].apply(lambda x: True if x >= 7.0 else False)
datos

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

4- 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.

# Verificar los tipos de datos que contienen las columnas del df
datos.info()

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

# El tipo de datos de Aprobado es object y Aprobado final es boolean 
seleccionados = datos.query('Aprobado == "False" & Aprobado_final == True')
seleccionados

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad

De la forma manual que se propone da el mismo resultado

# El tipo de datos de Aprobado es object y Aprobado final es boolean 
seleccion = (datos['Aprobado'] == "False") & (datos['Aprobado_final'] == True)
datos[seleccion]

Ingrese aquí la descripción de esta imagen para ayudar con la accesibilidad