<jupyter_start><jupyter_text>Mini-Proyecto Final  La gran pandemia Durante el 2015 hubo una gran pandemia a nivel mundial. Luego de un año del descubrimiento del virus, se realizó un catastro de enfermos. Cómo es posible observar en el siguiente gráfico, los resultados indicaron que los países más afectados fueron Francia, Japón y México, con más de 9.5 millones, 10.2 millones y 10.3 millones de contagiados respectivamente. **Visualización 1 (V01)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V01: Visualización que permite ver la cantidad total de infectados por país -> gráfico de barras
# acción: consultar-comparar
# objetivo: all data-distribución
# Dataset: V01.csv 

import pandas as pd

import matplotlib.pyplot as plt

df1 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V01.csv", encoding = "ISO-8859-1")

vars(df1)
bar = df1.plot.bar(x="Paises",color="green",title="Cantidad total de infectados por País")<jupyter_output><empty_output><jupyter_text>**Justificación**Para esta primera visualización la acción correspondiente a lo pedido es de consultar y comparar, a su vez que el objetivo es mostrar la distribución de la data. Esto se justifica ya que el párrafo anterior al gráfico indica que el énfasis está puesto en mostrar una comparación entre los contagiados por países, haciendo hincapié en países como Japón, Francia y México. Se usa un gráfico de barras ya que permite mostrar la data de forma ordenada y la diferencia en las distribuciones de contagiados por país de manera eficaz. Explorando los datos históricos de esta pandemia, fue posible recopilar la información de cantidad de contagiados internacionalmente durante los primeros 5 años y los resultados mostraron un crecimiento exponencial de los casos. **Visualización 2 (V02)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V02: Visualización que permita ver la evolución del total de infectados en el tiempo (fecha). -> gráfico de puntos y líneas
# acción: analizar-presentar
# objetivo: all data-trend
# Dataset: V02.csv 

import seaborn as sns

import numpy as np

import matplotlib.pyplot as plt

df2 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V02.csv")
df2.head()
df2["Año"]=df2["Año"].map(str)
gpts = sns.lineplot(x="Año",y="Total Contagiados",data=df2,color="green",marker="s").set_title("Evolución del total de Contagiados")<jupyter_output><empty_output><jupyter_text>**Justificación**Para la segunda visualización la acción identificada es la de analizar y presentar, y el objetivo sería capturar la tendencia de la data. Esto se justifica ya que la tarea presentada en el párrafo anterior es de exponer el crecimiento exponencial de casos, cuya tarea va acorde a analizar y presentar dicho crecimiento. Para esto se utiliza un gráfico de líneas ya que es un tipo de gráfico óptimo para mostrar tendencias en los datos a lo largo del tiempo. Ahora, comparando la situación por país, es posible notar cómo en algunos países, como Chile, la infección fue controlada mientras en otros no, como México. Esto se explica por la anticipada toma de decisiones en salud realizados en varios de estos países. **Visualización 3 (V03)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V03: Visualización que permita ver el total de infectados en el tiempo por país (fecha). -> gráfico de líneas
# acción: analizar-descubrir
# objetivo: attributes-similarity
# Dataset: V03.csv 

from matplotlib.ticker import MaxNLocator

import math

df3 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V03.csv",encoding= 'unicode_escape', index_col="Años")
df3.head()

plt.plot(df3)
plt.legend(df3)
plt.xlabel("Año")
plt.ylabel("Contgiados")
plt.title("Infectados en el tiempo por País")
plt.show()<jupyter_output><empty_output><jupyter_text>**Justificacion**Para la presente visualización la acción es de analizar y descubrir, y el objetivo es analizar la similitud entre atributos. Se toman estas como la acción y el objetivo ya que mediante el gráfico se busca apoyar la hipótesis de que un mayor control de la pandemia se debe a la anticipada toma de decisiones en salud realizados en varios de los países. Esto conlleva comparar similitudes en las tendencias históricas de los contagiados entre los países. Para esto se utilizó un gráfico de líneas donde cada color indica un país distinto, haciendo la comparación más fácil de captar. Las visualizaciones anteriores colocan la evolución del contagio según las fechas de ocurrencia, pero la realidad es que cada país tuvo su primer infectado en distintos momentos. Al encontrarse en distintas escalas de tiempo, surge la interrogante de cómo distribuyen los crecimientos de contagios bajo una misma escala de tiempo, que corresponde al tiempo que lleva el país con infecciones presentes. Por ejemplo, se encontró que a los dos meses de infección, el mínimo de contagios presentes en un país fue de 783 casos, el máximo de 8055 casos, y la mediana a nivel mundial fue de 2876 casos aproximadamente.  **Visualización 4 (V04)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V04: Visualización que permite ver la distribución de número de contagios de países en función al tiempo de 
# infección. -> small multiples
# acción: consultar-comparar
# objetivo: attribute-distribution
# Dataset: V04.csv 

df4 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V04.csv")
df4.head()
grid=sns.FacetGrid(data=df4,col="Pais",hue="Pais",col_wrap=4)
g = grid.map(plt.plot,"Mes","Contagiados",marker="x")

g.fig.subplots_adjust(top=0.9)
g.fig.suptitle('Contagiados por país en los primeros 12 meses', fontsize=14)<jupyter_output><empty_output><jupyter_text>**Justificacion**La cuarta visualizacion tiene como acción la de consultar y comparar, mientras que el objetivo es de ver la distribución de un atributo en específico. A saber, lo que se requiere de la visualización es poder comparar los primeros 12 meses de la pandemia en distintos países, con el fin de observar tendencias de crecimiento entre los países bajo una misma escala de tiempo. Para ello se utilizó una visualización de tipo "small multiples", cosa de condensar la mayor cantidad de series de tiempo en el menor espacio posible. Otra interrogante que surgió fue ¿este virus fue más letal en épocas y lugares de bajas temperaturas, de altas temperaturas o la temperatura no tuvo efecto? En base a los datos reunidos de facellimientos registrados por mes en los 5 primeros años, fue posible observar lo siguiente para cada hemisferio: **Visualización 5 (V05)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V05: Dos visualizaciones (uno por hemisferio) que permita visualizar la cantidad de fallecimientos por mes
# y año de modo que permita determinar si hubo algunos meses en particular donde aumentó
# la cantidad de fallecidos o siempre se mantuvo de forma homogénea 
# -> mapa de calor
# acción: analizar-descubrir
# objetivo: atributo-tendencia
# Datasets: V05-hem-norte.csv y V05-hem-sur.csv

df5_1 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V05-hem-norte.csv").pivot(index="Año",columns="Mes",values="Fallecidos")
df5_2 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V05-hem-sur.csv").pivot(index="Año",columns="Mes",values="Fallecidos")
df5_1.head()
sns.heatmap(df5_1, cmap="YlOrRd").set_title("Fallecidos por mes y año, hemisferio norte")
sns.heatmap(df5_2, cmap="YlOrRd").set_title("Fallecidos por mes y año, hemisferio sur")<jupyter_output><empty_output><jupyter_text>**Justificacion**La acción correspondiente a estas visualizaciones es la de analizar y descubrir, y el objetivo es de ver la tendencia de un atributo en específico. Se considera esta como la acción ya que se desea utilizar el gráfico para responder una pregunta puntual, por lo que la visualización nos ayudaría a descubrir nueva información respecto de las tendencias presentes en el dataset. Para esta acción y objetivo se decidió utilizar mapas de calor ya que los colores permiten ver de forma fácil y rápida la presencia de tendencias estacionales en los fallecidos. Por otro lado, esta pandemia que se caracterizó por una división etárea muy marcada entre sus contagiados. El 60% de los contagiados eran personas sobre 50 años, 30% eran menores a los 18 años y solo el 10% restante oscila entre 19 y 49 años. Por otro lado, el 80% presentaba como síntomas base: fiebre, tos y malestar estomacal; mientras que el 20% restante presentó síntomas extendidos a los anteriores, agregando dificultad para respirar.  **Visualización 6 (V06)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V06: Dos visualizaciones que permitan mostrar la proporción de infectados por edad y la proporción de 
# síntomas posibles. -> matriz de pie chart
# acción: analizar-presentar
# objetivo: atributo-distribución
# Dataset: V06.csv 

df6 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V06.csv")
data1=[60,10,30]
labels=[">=50","19-49","<=18"]
colors=["Yellow","Purple","Pink"]
fig=plt.figure(figsize=(8,8))

data2=[80,20]
labels2=["Base","Extendido"]
colors2=["Yellow","Purple"]
fig=plt.figure(figsize=(8,8))

plt.subplot(1,2,1)
plt.pie(data1,labels=labels, autopct='%1.1f%%',colors=colors)
plt.title("Edad Contagiados")

plt.subplot(1,2,2)
plt.pie(data2,labels=labels2, autopct='%1.1f%%',colors=colors2)
plt.title('Tipo de Sintomas')

plt.show()<jupyter_output><empty_output><jupyter_text>**Justificacion**Las dos visualizaciones tienen como acción la de analizar y presentar información, y el objetivo de ver la distribución de atributos en específico. Se consideran estas ya que se busca presentar la distribución tanto de la edad de los contagiados como del tipo de síntomas de las personas contagiadas. Se usan visualizaciones tipo torta ya que son visualizaciones que permiten analizar distribuciones de manera eficaz. Además de esta segmentación etárea y de diagnóstico, la investigación inicial no tenía una caracterización más profunda. Fue tras cruzar y analizar la correlación de atributos de edad, peso y altura de contagiados; e identificando aquellos con síntomas base o síntomas extendidos, que se logró obtener una mejor descripción de perfiles. **Visualización 7 (V07)****Tarea identificada**: Completar con una acción y un objetivo.**Justificación**: Completar en máximo 5 líneas.<jupyter_code># V07: Visualización que permita apreciar distribución y potencialmente correlación entre pares de atributos de edad, peso y altura; 
# con categorización por tipos de síntomas presentados. -> gráfico de burbujas
# acción: analizar-derivar
# objetivo: atributo-distribución/correlación
# Dataset: V07.csv 

df7 = pd.read_csv(r"C:\Users\<NAME>\Desktop\V07.csv")
df7
sint = df7.Sintomas.astype("category").cat.codes
sns.set_style("whitegrid")

ax7 = sns.scatterplot(x="Peso",y="Altura",hue=sint,size="Edad",sizes=(10,400),hue_norm=(0,1.5),alpha=0.5,cmap="YlOrRd", legend="brief",data=df7)
ax7.set_title("Peso vs Altura \n (tamaño de burbuja: edad) \n (color: síntoma base o extendido)")<jupyter_output><empty_output>
{'fraction_non_alphanumeric': 0.08213116204973891, 'fraction_numerical': 0.01885122577219223, 'mean_word_length': 5.742243436754177, 'pattern_counts': {'":': 0, '<': 38, '<?xml version=': 0, '>': 45, 'https://': 0, 'lorem ipsum': 0, 'www.': 0, 'xml': 0}, 'pii_count': 0, 'substrings_counts': 0, 'word_list_counts': {'cursed_substrings.json': 0, 'profanity_word_list.json': 0, 'sexual_word_list.json': 0, 'zh_pornsignals.json': 0}}
{'chain_length': '7', 'dir': 'jupyter-structured-clean-dedup', 'id': '268063', 'license': 'MIT', 'n_tokens_mistral': 3878, 'n_tokens_neox': 3758, 'n_words': 1394, 'path': 'Mini Proyecto Final.ipynb', 'repo_name': 'murzua7/Python-Projects', 'size': '11315'}