No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Series de Tiempo: variables nulas

24/28
Recursos

Aportes 23

Preguntas 4

Ordenar por:

Los aportes, preguntas y respuestas son vitales para aprender en comunidad. Regístrate o inicia sesión para participar.

por si alguien (como yo), aún en el modulo 25 no ha usado google colab, y esta usando jupyter, para que la grafica pueda quedar en el mismo recuadro:

import matplotlib.pyplot as plt

plt.plot(sr)
plt.plot(sr.rolling(window = 7).mean())
plt.plot(sr.rolling(window = 14).mean())

plt.xticks(rotation = '90')

Les dejo el código para que en la gráfica del minuto 6:10, donde calcula el promedio móvil con diferentes ventanas, se pueda identificar fácilmente cada serie, además de incluir título.

import matplotlib.pyplot as plt

plt.plot(sr, label = 'Original')
plt.plot(sr.rolling(window = 7).mean(), label = '7 días')
plt.plot(sr.rolling(window = 14).mean(), label = '14 días')
plt.xticks(rotation = '90')
plt.legend()
plt.title('Promedio móvil de Tasa de Supervivencia')

Así se vería la gráfica:

Excelente clase.
Estoy viendo esta clase un 12 de agosto a las 20:20, hora Argentina. Estoy realizando el mismo analisis del video, con el mismo dataframe pero con los datos actualizamos al 8 de Agosto.

Conclusiones para el covid mundialmente:
La variacion de nuesta variacion estandar es de menos del 0.5%, esto es muy bueno. Como conclusion podemos decir la tasa de supervivencia para buena noticas es alta y es del 96%. Exactamente lo mismo que comentan en la clase.

Argentina con el confinamiento eterno, solo nos mete noticias amarillistas para incultar el miedo y que dependamos del estado. Trabajar con estos datos es verdaderamente importante y nos habre la cabeza de una forma magistral.

Muchas gracias.

Para trabajar con variables nulas tenemos disponibles principalmente las siguientes funciones:


# Relleno con valores próximos de las filas.
DataFrame.bfill()

# Relleno con valores previosde las filas.
DataFrame.ffill()

# Relleno con valores específicos o personalizados.
DataFrame.fillna(123456)

# Relleno con valores medios entre filas.
DataFrame.interpolate()

¿Qué vamos a aprender en esta clase?

Vamos a aprender a utilizar herramientas de pandas para hacer análisis de series de tiempo, vamos a aprender a como agrupar cuando tenemos columnas de tipo tiempo usando la función Grouper, la importancia de trabajar con intervalos de tiempo y calcular suavizados de curvas con la función Rolling.

Nota: En general en la naturaleza se pueden encontrar múltiples casos donde se tenga que hacer este tipo de análisis como lo es las variaciones de temperaturas a lo largo del año o lo que es las proyecciones financieras.

Woo este cuaderno tiene mucha mejor uso un añd despues para analizar la evolución de las graficas y columnas como de tasa de mortalidad entre otras. Recomendado

la diferencia entre rolling y resample


rolling: establece un rango (7 meses) y va punto por punto calculando la función dada (mean) en ese rango(siendo el punto el centro del rango), por eso es que en las esquinas ya no lo calcula puesto a que el rango ya no cabe.
resample: realiza grupos del rango dado(7meses) y calcula la function dada en ese rango, por lo que se ve como líneas puesto a que solo se calcularon unos pocos puntos

No me quedó muy en claro para que sirve grouper 🤔

.ffill() para rellenar el NaN con el valor previo.

.fillna() para colocar el valor que yo quiera.

.bfill() para rellenar el NaN con el valor siguiente.

.interpolate() para colocar el valor medio entre dos valores.

Me gusto gusto mucho esta clase. muchas gracias

MI APORTE 😃:

  1. otra forma de hacer un grafico con seaborn
    rate_by_day = df_cum.groupby(pd.Grouper(key=‘ObservationDate’, freq = ‘1D’))[[‘rate’]].mean()
    rate_by_day= rate_by_day.reset_index()
    rate_by_day.columns
    import seaborn as sns
    import matplotlib.pyplot as plt
    plt.subplots(figsize=(15,7))
    sns.scatterplot(x=‘ObservationDate’, y=‘rate’, data=rate_by_day)
    plt.xticks(rotation=45)
    plt.show()
  1. otra forma de aplicar la desviacion standar con pandas

sr.rolling(window=14).std().plot()

Wow, que clase tan padre

¡Este curso es fantástico! Realmente es muy completo.

Actualización de la tabla de tasa de recuperación al 10 de octubre

Me pasó algo que no entiendo, cuando ejecuto la sentencia:

df_cum.groupby(pd.Grouper(key='ObservationDate', freq = 'M'))[['rate']].mean()

me arroja el error KeyError: 'The grouper name ObservationDate is not found'

Cambié el “key” por “level” y si me funcionó:

df_cum.groupby(pd.Grouper(level='ObservationDate', freq = 'M'))[['rate']].mean() 

Por qué con “key” no me funcionó?

Increible como acomodar los vakores nulos y como oueden ser ocupados estos espacios, ¡Thanks David!

Usando Pandas 1.1.5 me dio un error al usar Grouper

Me parece que en vez de usar ‘key’ hay que usar ‘level’, ya con eso se solucionó mi error

Así es como se ve la grafica de tasa de supervivencia, generada el 7/03/22

Excelente a seguir aprendiendo

interesante

excelente., que buen ejemplo y actual por demás decir

Variaciones de la tasa de supervivencia hasta Septiembre

Los graficos ayudan a visualizar mejor los datos.