Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
Ya estoy inscrito ¿Todavía no tienes acceso? Nuestros Planes
1
respuesta

Desafío: vamos a practicar - Manipulación de los datos

  • 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.
# Obtenemos el puntaje extra, que es el equivalente al 40% de la primera nota
df_alumnos['Puntos_extras'] = df_alumnos['Nota'].apply(lambda x: x*0.4)
df_alumnos

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

  • Crea otra columna llamada "Notas_finales" que contenga las notas de cada estudiante sumadas con los puntos extras.
# .clip(upper=10) asegura que el valor no pase de 10.
df_alumnos['Notas_finales'] = (df_alumnos['Nota'] + df_alumnos['Puntos_extras']).clip(upper=10)
df_alumnos

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

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

df_alumnos['Aprobados_final'] = df_alumnos['Notas_finales'].apply(lambda x: True if x >= 7 else False)  
df_alumnos

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

# Me muestra que alumno pasó de estar reprobado a aprobado
df_alumnos.query('Aprobado == "False" and Aprobados_final == True')

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

  • 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.
# Creamos una condición booleana que identifica a los estudiantes aprobados según la columna 'Aprobados_final'
filtro_aprobados_final = df_alumnos['Aprobados_final'] == True
# Aplicamos el filtro y creamos una copia del DataFrame original con solo los estudiantes aprobados
df_alumnos_aprobados_final = df_alumnos[filtro_aprobados_final].copy()
df_alumnos_aprobados_final

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

# Eliminamos las columnas 'Aprobado' y 'Aprobados_final' ya que no son necesarias para el análisis posterior
df_alumnos_aprobados_final.drop(['Aprobado','Aprobados_final'],axis=1,inplace=True)
df_alumnos_aprobados_final

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

# Guardamos el DataFrame resultante en un archivo CSV sin incluir el índice
df_alumnos_aprobados_final.to_csv('/content/drive/MyDrive/Pandas/ejercicio_alumnos.csv',index=False)
# Leemos el archivo CSV para verificar que fue guardado correctamente
pd.read_csv('/content/drive/MyDrive/Pandas/ejercicio_alumnos.csv')

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

  • Archivo resultante:

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

1 respuesta

Hola,

Gracias por compartir tu código con nosotros. Recuerda que estamos aquí para ayudarte. Si necesitas ayuda, no dudes en buscarnos en el foro.

¡Gracias nuevamente!

Saludos,

Si este post te ayudó, por favor, marca como solucionado ✓. Continúa con tus estudios!