Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Visualización y graficación de datos

25/28
Recursos

Aportes 51

Preguntas 11

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Como dijo Freddy Vega, la mejora manera de medir la respuesta de un pais ante el COVID es analizando la cantidad de fallecidos. Aqui la informacion de Peru, Colombia, y Peru.
al 15/05/2020

Bien, mi análisis fue un poco más larguillo, pero acá se los presento.

df_colombia = df_time.loc['Colombia',:]
df_peru = df_time.loc['Peru',:]
df_ecuador = df_time.loc['Ecuador',:]
df_mexico = df_time.loc['Mexico',:]

df_deaths_latam['Colombia'] = df_colombia['Deaths']
df_deaths_latam['Peru'] = df_peru['Deaths']
df_deaths_latam['Ecuador'] = df_ecuador['Deaths']
df_deaths_latam['Mexico'] = df_mexico['Deaths']

ax = df_deaths_latam.plot(figsize = (10,7), title='Covid LATAM')
plt.xlabel('Date')
plt.ylabel('People')
plt.show()
df_colombia['Treatment'] = df_colombia['Confirmed'] - df_colombia['Deaths'] - df_colombia['Recovered']

ax = df_colombia.plot(figsize = (10,7), title = 'Colombia\' COVID-19 Management')
plt.xlabel('Date')
plt.ylabel('People')
plt.show()
df_colombia['rate'] = 1 - df_colombia['Deaths']/df_colombia['Confirmed']

plt.plot(df_colombia['rate'].rolling(window=7).apply(lambda x: np.std(x)), label='7 Días')
plt.plot(df_colombia['rate'].rolling(window=14).apply(lambda x: np.std(x)), label='14 Días')

plt.xticks(rotation = '90')
plt.legend()
plt.title('Desviación estándar de Tasa de Supervivencia en Colombia')
df_colombia['rate'] = df_colombia['rate'].fillna(method='bfill')

# Calculando la mediana mensual
df_colombia_reset = df_colombia.reset_index()
df_colombia_monthly = df_colombia_reset.groupby(pd.Grouper(key='ObservationDate', freq='M')).median()

df_colombia_monthly = df_colombia_monthly.fillna(method='ffill')

df_colombia_monthly.plot(kind='area', figsize=(10,7), ylabel='Per million people', xlabel='Date', title='Colombia\'s COVID-19 Management')

A continuación, se presenta una tabla que muestra los datos mensuales del manejo del covid en Colombia.

Numero de casos confirmados en China y Brasil…

Código:

plt.figure(figsize=(12,5))

ax1 = china.plot(color='blue', label='China')
ax2 = brazil.plot(color='red', secondary_y=True, label='Brazil')

ax1.set_xlabel('Observation Date')
ax1.set_ylabel('Confirmed cases')

ax1.legend(loc=1)
ax2.legend(loc=2)

plt.show()

Encontré un error en el dataset de covd!

Al hacer el plot de la grafica de torta,

obtuve muchas graficas que se solapaban porque ya el DF es de varios meses, no solo tres.

por tanto use head(3) para obtener solo 3 graficas, y varie el figsize a (16, 10) para apreciar todo mejor

df_monthly[[‘Confirmed’, ‘Deaths’, ‘Recovered’]].head(3).T.plot(figsize = (16,10), kind = ‘pie’, subplots = True)

Datos hasta el día 05/08/2020:

Yo compare Estados Unidos y Brazil que al dia de hoy son los paises con mas casos, y me parece interesante que EEUU tiene muchos mas casos confirmados pero la linea de muertes es muy similar a Brazil.

Caso de Colombia con datos hasta el 31 de mayo. El número de contagiados comenzó a aumentar en abril pero la tasa de recuperados sigue siendo mayor a la de fallecidos.

En 2021 ya hay muchos datos, entonces las gráficas de pastel no se aprecian bien.

Una solución es recortar los datos, para ello podemos hacer lo siguiente.

df_monthly_trim = df_monthly.head(3)
df_monthly_trim

Y graficar.

df_monthly_trim[['Deaths', 'Recovered', 'Active']].T.plot(figsize = (10,7), kind = 'pie', subplots = True)

Casos confirmados por países latinoamericanos:

En esta parte de clase me salio un error asi:

# f_china.plot(figsize = (10,7), title = ‘CODV-19’)
plt.xlabel(‘Date’)
plt.ylabel(‘People’)
plt.show()

AttributeError: module ‘matplotlib’ has no attribute ‘xlabel

Y aunque te muestra tu grafica no te va a mostrar las etiquetas asignadas a los ejes “x” y “y”

Lo único que tienes que hacer antes de ejecutar esta parte es correr este codigo:

# from matplotlib import pyplot as plt

Y listo!!

Muertes y casos confirmados por semana en Colombia desde abril del 2020 hasta mayo del 2021.

No hace diferencia en el código pero tratamiento se escribe treatment y no Traitment

Mi aporte es la tasa de supervivencia de México, con rolling con 14 días.

sr_mex = df_mex.reset_index().groupby(pd.Grouper(key='ObservationDate', freq='1D'))['rate'].mean()
sr_mex.rolling(window = 14).mean().plot(style='g')
plt.xlabel('Mes')
plt.ylabel('Tasa de suoervivencia')

La gráfica de México se ve así 😦
Y eso que cada vez se hacen menos pruebas

La gráfica hecha para Perú:

df_monthly_conf = df_peru[['Confirmed']].resample('M').sum()
df_monthly_conf.index = ['Mar20','Abr20','May20','Jun20','Jul20','Ago20','Set20',
                         'Oct20','Nov20','Dic20','Ene21','Feb21','Mar20','Abr20',
                         'May20']
df_monthly_conf.plot(kind = 'bar',title = 'Casos confirmado de COVID19\n Marzo 2020 - Mayo 2021')
plt.xlabel('Date')
plt.ylabel('People')
import matplotlib.pyplot as plt
plt.figure(figsize=(15,10))
plt.barh(mex_states_top_5['Province/State'], width =mex_states_top_5['Deaths'])
plt.title('Top 10 estados de México con más Muertes covid. Cierre al 30/05/2022')

for p, d in zip(mex_states_top_5['Province/State'], mex_states_top_5['Deaths']):
    plt.text(d, p, '{:,}'.format(round(d,0)), fontfamily='monospace')

Hola comunidad
Comparto una grafica de los paises que lamentablemente tubieron el mayor numero de muertes

ax = df_us['Deaths'].plot(kind='area', color='Red', figsize = (10,7), legend=False, style = [':*'])
ax = df_Brazil['Deaths'].plot(kind='area', color='Green', figsize = (10,7), legend=False, style = [':+'])
ax = df_India['Deaths'].plot(kind='area', color='Blue', figsize = (10,7), legend=False, style = [':^'])
ax = df_Mexico['Deaths'].plot(kind='area', color='Black', figsize = (10,7), legend=False, style = [':>'])
ax = df_UK['Deaths'].plot(kind='area', color='Pink', figsize = (10,7), legend=False, style = [':<'])
ax.set_title('Countries whit the highest number of Deaths form covid-19')
ax.legend(['US', 'Brazil', 'India', 'Mexico', 'UK'])
plt.xlabel('Date')
plt.ylabel('People')
plt.show() 

Que es un histograma?

Gráfico de la representación de distribuciones de frecuencias, en el que “se emplean rectángulos” dentro de unas coordenadas.

Que es un Bin?

En un histograma, el eje x es una línea numérica que se ha dividido en rangos de números o “bins”. Para cada “bin”, se dibuja una barra en la que el ancho de la barra representa el rango del “bin” y la altura de la barra representa el número de puntos de datos incluidos en ese rango.

Este es mi codigo,
saludos

df_2 = df.groupby(
    ['Country/Region',
    pd.Grouper(key = 'ObservationDate', freq = '1D')]
    ).sum()

df_i = df_2.loc['Iran',:]

df_i.plot(figsize = (10,5), title = 'COV-19', 
              legend = True, 
              style = ['r-','g--','b:*'])

Yo tomé el mismo dataset de ejemplo e hice el ejercicio con Italy, país que se moestraba como el segundo con más casos de muerte por covid hasta marzo 4. Mi país Colombia hasta el 4 de marzo de 2020 no tenía casos de Covid, por eso aparece con cero, pues el primer caso reportado creo que fue el 6 de marzo.

![Casos confirmados, muertes y recuperados en Italy](

Para la segunda imagen se muestra el aumento de casos por Covid, muertes y recuperaciones de forma semanal en Italy.
![](

En esta última imagen se muestra la ifnromación de los pacientes que siendo confirmados con covid, al no estar en recuperación ni declarados muertos, se asumen que están en tratamiento. Lo anterior en un diagrama de torta.
![](

Para que las graficas tipo pastel (‘pie’) queden bien debido a la cantidad de data se puede utilizar .head(x)

x = cantidad de datos (en este caso la grafica correspondiente a una fecha mencusal del país de Francia)

Espero que les sriva

Excelente una herramienta muy potente

Comparación número de muertos por mes a causa del Covid-19. Países Latam con similar número de habitantes:

latam = pd.DataFrame({
'M_Colombia': df_time2.loc['Colombia','Deaths'], 
'M_Perú' : df_time2.loc['Peru', 'Deaths'], 
'M_Argentina' : df_time2.loc['Argentina', 'Deaths']
})

Hola, comparto mi gráfica bajo la cual aplique los siguientes parámetros:

df_col.plot(figsize=(10,7), kind='area', stacked=False, subplots=True, color={"Confirmed": "blue", "Recovered": "green", "Deaths": "red", "Traitment": "orange"}, title='COVD-19 Cases Colombia')

Casos Actualizados de Covid19 confirmados, recuperados y de muertes en Francia(País con más casos actualmente):

Una grafica de los casos diarios en Bogotá

Es increible como se notan los picos, justo en agosto con la reapertura y en Enero 2021 despues de diciembre

Buena clase David! es mucha información por absorber y se nota que dominas todo el tema

Argentina, Brasil y Estados Unidos en comparativa.

plt.figure(figsize= (10,7))
agraph= df_arg.plot(color = 'blue', label = 'Argentina')
bgraph= df_bra.plot(color = 'green', label = 'Brazil')
usgraph= df_us.plot(color = 'red', label = 'US')

agraph.set_xlabel('Date')
agraph.set_ylabel('Confirmed')
agraph.legend(loc=1)
bgraph.legend(loc=2)
usgraph.legend(loc=3)

plt.show()```

Este fue el resutado 

![descarga (2).png](https://static.platzi.com/media/user_upload/descarga%20%282%29-c850421d-fb53-4cb2-8e07-dcbfa431b1f6.jpg)

Los datos cambia…

Country/Region
US 350121.0
Russia 281752.0
UK 243695.0
Brazil 241080.0
Spain 236899.0

Gibraltar 1.0
Gambia, The 1.0
Channel Islands 1.0
East Timor 1.0
Azerbaijan 1.0
Name: Confirmed, Length: 223, dtype: float64

Country/Region US 350121.0 Russia 281752.0 UK 243695.0 Brazil 241080.0 Spain 236899.0 ... Gibraltar 1.0 Gambia, The 1.0 Channel Islands 1.0 East Timor

Yo hacer todo el trabajo de graficacion con matlotlib ya que puedes hacer muchas mas personalizaciones y adaptar mjor la graficas.
Aunque con pandas puedes hacer graficas de manera muy rapida y con muy pocos parametros

Este es la gráfica para la tasa de sobrevivir al coronavirus comparando los países de Estados Unidos, Brasil y Colombia:

Yo lo hice con brazil, que a la fecha tiene los números más altos entre los países del dataset.

En este enlace pueden encontrar el DataSet completo de los casos de COVID-19 en Colombia:
https://www.datos.gov.co/Salud-y-Protecci-n-Social/Casos-positivos-de-COVID-19-en-Colombia/gt2j-8ykr/data

O, si prefieren, en este otro enlace encuentran los reportes diarios del COVID-19 en Colombia:
https://www.ins.gov.co/Paginas/Boletines-casos-COVID-19-Colombia.aspx

Covid 19 en México D:

![](

Hice un merge del dataset de población(hasta 2018) y el de covid(octubre) para calcular la tasa de contagios con respecto a su población total en piases americanos.

También calcule la tasa de recuperación en los mismos piases, exceptuando a Perú y a Estados Unidos, ya que el dataset presenta un error.

Comportamiento exponencial del virus según su evolución n Colombia hasta Febrero 2021.

Reto

Con datos hasta el 23 de Septiembre, que es hasta donde han actualizado de memento (12de noviembre) este dataset, encontré datos interesantes sobre Casos confirmados y Muerte per capita (con la población estimada que tiene Wikipedia de cada país).

  • Casos per capita:

  • Muertes per capita

Reto 2 listo:

Reto listo:

Realizando una comparacion del numero de muertes por covid que se identifivcaron hasta la fecha en US, UK, Brazil, Colombia, China

Encontré esta forma de graficar los datos entre países, teniendo en cuenta la cantidad de muertes, ¿Qué les parece?, veo que varios ya lo habían hecho, quisiera conocer de que otras formas lo puedo realizar. Gracias.

df_time1 = df.groupby(['Country/Region',pd.Grouper(key = 'Date',freq = '15D')])[['Deaths']].sum()

Creé un nuevo dataFrame para alojar allí la información definida bajo los índices Country y Date, aplicando la función suma a la columna Deaths.

Luego, partí el data set en 3, que son los 3 países que deseaba graficar.

df_usa = df_time1.loc['US',:]
df_col = df_time1.loc['Colombia',:]
df_bra = df_time1.loc['Brazil',:]

Y por ultimo definí esta función para graficar.

import matplotlib.pyplot as plt
def plotter():
    plt.xlabel('Mes')
    plt.ylabel('Cantidad')
    plt.title('Cantidad de Muertes')
    plt.plot(df_usa, label='Usa')
    plt.plot(df_col, label='Colombia')
    plt.plot(df_bra,label='Brazil')
    plt.legend()
    plt.show()
    
plotter()

Detrás de df_AmN2, hay agrupaciones y filtros

Taza de mortalidad GLOBAL vs MEXICO y COLOMBIA

Aunque puede parecer que Colombia presenta una taza de mortalidad menor a la global verifiqué por qué, aquí la respuesta: