Actividad Final del Curso#

En el presente documento se detalla la actividad evaluativa del curso de introducción al Python con enfóque en políticas públicas.

Objetivo#

Aplicar los conocimientos adquiridos en el curso para resolver un problema de la vida real.

Descripción#

Debe realizar un análisis de datos de los datasets que se proporcionan para cada uno de los enunciados, y a partir de ellos debe responder a las preguntas planteadas usando los conceptos aprendidos en el curso.

Fecha de entrega#

La fecha de entrega máxima de la actividad es el día 31 de julio de 2024 a las 23:59 horas.

Entregrable#

El entregable debe ser el notebook de COLAB con el código y las respuestas a las preguntas planteadas.

El archivo de entrega debe tener el siguiente nombre:


Actividad_Final_Nombre_Apellido.ipynb

Parte 1#

Vamos a usar la data de sobrevivientes del Titanic. Vamos responder a los siguientes enunciados:

  1. ¿Cuántos pasajeros sobrevivieron y cuántos no sobrevivieron?

  2. ¿Cuántos pasajeros de cada clase sobrevivieron?.

  3. ¿Cuántos hombres y mujeres sobrevivieron?

  4. Usando groupby(), calcula la edad promedio para cada sexo.

  5. Calcula tasa promedio de supervivencia para todos los pasajeros.

  6. Calcula este ratio de supervivencia para todos los pasajeros menores de 25 años (recuerda: filtrado/indexación booleana)

  7. Genere gráficas que permitan visualizar los resultados anteriores

import pandas as pd

df = pd.read_csv('https://raw.githubusercontent.com/BioAITeamLearning/IntroPython_2024_01_UAI/main/Data/titanic.csv')
df
# Tu código aquí

Parte 2#

Como un ejemplo más detallado de trabajo con datos de series temporales, echemos un vistazo a los conteos de bicicletas en el Puente Fremont de Seattle. Estos datos provienen de un contador automático de bicicletas instalado a finales de 2012, que tiene sensores inductivos en las aceras este y oeste del puente. Los conteos horarios de bicicletas se pueden descargar desde http://data.seattle.gov; el conjunto de datos del Contador de Bicicletas del Puente Fremont está disponible en la categoría de Transporte.

Vamos a realizar algunas operaciones con los datos ..

data = pd.read_csv('https://raw.githubusercontent.com/jakevdp/bicycle-data/main/FremontBridge.csv', index_col='Date', parse_dates=True)
data.columns = ['Total', 'East', 'West']
data.head()
<ipython-input-144-220a674f8aa6>:1: UserWarning: Could not infer format, so each element will be parsed individually, falling back to `dateutil`. To ensure parsing is consistent and as-expected, please specify a format.
  data = pd.read_csv('https://raw.githubusercontent.com/jakevdp/bicycle-data/main/FremontBridge.csv', index_col='Date', parse_dates=True)
Total East West
Date
2019-11-01 00:00:00 12.0 7.0 5.0
2019-11-01 01:00:00 7.0 0.0 7.0
2019-11-01 02:00:00 1.0 0.0 1.0
2019-11-01 03:00:00 6.0 6.0 0.0
2019-11-01 04:00:00 6.0 5.0 1.0
# Revisa algunas estadisticas básicas de tu DataFrame

# Tu código aquí
  1. Grafica los datos en bruto del conteo de bicicletas. Asegúrate de etiquetar el eje Y con ‘Conteo de Bicicletas por Hora’.

# Tu codigo va acá
  1. Los datos horarios son demasiado densos. Remuestrea los datos a una cuadrícula semanal y grafica los conteos semanales. Usa estilos de línea diferentes para cada serie.

# Tu codigo va acá
  1. Remuestrea los datos a una cuadrícula diaria y grafica la suma diaria de los conteos de bicicletas. Asegúrate de etiquetar el eje Y con ‘Conteo de Bicicletas por Hora Promedio’.

# Tu codigo va acá
  1. Calcula y grafica la media móvil de 50 días de los datos de bicicletas utilizando una ventana gaussiana con un ancho de 10 días. Usa diferentes estilos de línea para cada serie.

# Tu codigo va acá
  1. Agrupa los datos por tiempo del día y grafica el tráfico promedio de bicicletas. Utiliza groupby y mean, y asegúrate de configurar las marcas de tiempo en el eje X.

# Tu codigo va acá
  1. Agrupa los datos por día de la semana y grafica el tráfico promedio de bicicletas para cada día. Ajusta las etiquetas del índice para representar los días de la semana.

# Tu codigo va acá
  1. Agrupa los datos para diferenciar entre días de semana y fines de semana, y luego calcula la media horaria de los conteos de bicicletas. Usa groupby y mean.

# Tu codigo va acá
  1. Utiliza Matplotlib para crear dos gráficos en paralelo que muestren los conteos horarios de bicicletas durante los días de semana y los fines de semana. Usa subplots y asegúrate de etiquetar los gráficos adecuadamente.

# Tu codigo va acá