A COVID-19 é uma doença causada pelo coronavírus, denominado SARS-CoV-2, que apresenta um espectro clínico variando de infecções assintomáticas a quadros graves. De acordo com a Organização Mundial de Saúde, a maioria (cerca de 80%) dos pacientes com COVID-19 podem ser assintomáticos ou oligossintomáticos (poucos sintomas), e aproximadamente 20% dos casos detectados requer atendimento hospitalar por apresentarem dificuldade respiratória, dos quais aproximadamente 5% podem necessitar de suporte ventilatório.
Transmitido principalmente por meio de gotículas provenientes de tosses ou espirros de pessoas infectadas, a gravidade dos sintomas varia muito de pessoa para pessoa.
Com o objetivo de elevar a consciência situacional a respeito da COVID-19 no Brasil e no Mundo, irei realizar uma análise sobre os dados públicos da doença.
Será utilizado como fonte dos dados o site Our World In Data, especializado em expor pesquisas empíricas e dados analíticos dos mais diversos assuntos ao redor do mundo. Os dados do site são atualizados diariamente, ou seja, haverá alterações no decorrer do estudo, pois, no momento da criação deste notebook, os dados foram extraídos no dia 29 de julho de 2020.
Para se ter uma melhor compreensão das variáveis utilizadas, abaixo um dicionário contendo a descrição de cada uma delas:
iso-code
- Código de 3 letras de um determinado país.
continent
- Continente do país.
location
- Nome do país.
date
- Data da observação.
total_cases
- Total de casos confirmados de COVID-19.
new_cases
- Novos casos confirmados de COVID-19.
total_deaths
- Total de mortes atribuidas ao COVID-19.
new_deaths
- Novas mortas atribuidas ao COVID-19.
total_cases_per_million
- Total de casos confirmados de COVID-19 por 1,000,000 de pessoas.
new_cases_per_million
- Novos casos confirmados de COVID-19 por 1,000,000 de pessoas.
total_deaths_per_million
- Total de mortes atribuidas ao COVID-19 por 1,000,000 de pessoas.
new_deaths_per_million
- Novas mortes atribuidas ao COVID-19 por 1,000,000 de pessoas.
total_tests
- Total de testes para COVID-19.
new_tests
- Novos testes para COVID-19.
new_tests_smoothed
- Novos testes para COVID-19(7 dias suavizado). Para países que não reportam os dados do teste diariamente, assumimos que o teste mudou igualmente diariamente em qualquer período em que nenhum dado foi relatado. Isso produz uma série completa de números diários, que são calculados como média em uma janela de 7 dias consecutivos.
total_tests_per_thousand
- Total de testes para COVID-19 por 1,000 pessoas.
new_tests_per_thousand
- Novos testes para COVID-19 por 1,000 pessoas.
new_tests_smoothed_per_thousand
- Novos testes para COVID-19(7 dias suavizado) por 1,000 pessoas.
tests_units
- Unidades usadas pelo local para relatar seus dados de teste.
stringency_index
- Índice de estresse da resposta do governo: medida composta baseada em 9 indicadores de resposta, incluindo fechamento de escolas, fechamento de locais de trabalho e proibições de viagens, redimensionados para um valor de 0 a 100 (100 = resposta mais estrita).
population
- População em 2020.
population_density
- Número de pessoas divididas por área terrestre, medida em quilômetros quadrados, no ano mais recente disponível.
median_age
- Idade média da população, projeção da ONU para 2020.
aged_65_older
- Proporção da população com 65 anos ou mais, ano mais recente disponível.
aged_70_older
- Percentagem da população com 70 anos ou mais em 2015.
gdp_per_capita
- Produto interno bruto com paridade do poder de compra (dólares internacionais constantes de 2011), último ano disponível.
extreme_poverty
- Percentagem da população que vive em extrema pobreza, último ano disponível desde 2010.
cardiovasc_death_rate
- Taxa de mortalidade por doenças cardiovasculares em 2017.
diabetes_prevalence
- Prevalência de diabetes (% da população entre 20 e 79 anos) em 2017.
female_smokers
- Percentagem de mulheres que fumam, último ano disponível.
male_smokers
- Proporção de homens que fumam, último ano disponível.
handwashing_facilities
- Proporção da população com instalações básicas de lavagem das mãos nas instalações, último ano disponível.
hospital_beds_per_thousand
- Camas de hospital por 1.000 pessoas, último ano disponível desde 2010.
life_expectancy
- Expectativa de vida no nascimento em 2019.
Iremos utilizar o repositório do Github que é atualizado diariamente https://github.com/owid/covid-19-data/tree/master/public/data e usaremos o formato csv
neste projeto.
# importar as bibliotecas necessárias
import pandas as pd
import matplotlib.pyplot as plt
import seaborn as sns
# importar o dataset para um DataFrame
df = pd.read_csv("https://covid.ourworldindata.org/data/owid-covid-data.csv")
Iremos conhecer agora como os dados foram estruturados, e se tiver a necessidade tratar suas colunas e apresentar algumas informações. Lembrando que o dataset utilizado está atualizado até a data que foi feita essa análise, dia 29 de julho de 2020.
# visualizar as 5 primeiras entradas
df.head()
iso_code | continent | location | date | total_cases | new_cases | total_deaths | new_deaths | total_cases_per_million | new_cases_per_million | total_deaths_per_million | new_deaths_per_million | new_tests | total_tests | total_tests_per_thousand | new_tests_per_thousand | new_tests_smoothed | new_tests_smoothed_per_thousand | tests_units | stringency_index | population | population_density | median_age | aged_65_older | aged_70_older | gdp_per_capita | extreme_poverty | cardiovasc_death_rate | diabetes_prevalence | female_smokers | male_smokers | handwashing_facilities | hospital_beds_per_thousand | life_expectancy | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | AFG | Asia | Afghanistan | 2019-12-31 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 38928341.0 | 54.422 | 18.6 | 2.581 | 1.337 | 1803.987 | NaN | 597.029 | 9.59 | NaN | NaN | 37.746 | 0.5 | 64.83 |
1 | AFG | Asia | Afghanistan | 2020-01-01 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 38928341.0 | 54.422 | 18.6 | 2.581 | 1.337 | 1803.987 | NaN | 597.029 | 9.59 | NaN | NaN | 37.746 | 0.5 | 64.83 |
2 | AFG | Asia | Afghanistan | 2020-01-02 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 38928341.0 | 54.422 | 18.6 | 2.581 | 1.337 | 1803.987 | NaN | 597.029 | 9.59 | NaN | NaN | 37.746 | 0.5 | 64.83 |
3 | AFG | Asia | Afghanistan | 2020-01-03 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 38928341.0 | 54.422 | 18.6 | 2.581 | 1.337 | 1803.987 | NaN | 597.029 | 9.59 | NaN | NaN | 37.746 | 0.5 | 64.83 |
4 | AFG | Asia | Afghanistan | 2020-01-04 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 38928341.0 | 54.422 | 18.6 | 2.581 | 1.337 | 1803.987 | NaN | 597.029 | 9.59 | NaN | NaN | 37.746 | 0.5 | 64.83 |
# visualizar as 5 ultimas linhas
df.tail()
iso_code | continent | location | date | total_cases | new_cases | total_deaths | new_deaths | total_cases_per_million | new_cases_per_million | total_deaths_per_million | new_deaths_per_million | new_tests | total_tests | total_tests_per_thousand | new_tests_per_thousand | new_tests_smoothed | new_tests_smoothed_per_thousand | tests_units | stringency_index | population | population_density | median_age | aged_65_older | aged_70_older | gdp_per_capita | extreme_poverty | cardiovasc_death_rate | diabetes_prevalence | female_smokers | male_smokers | handwashing_facilities | hospital_beds_per_thousand | life_expectancy | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
33412 | NaN | NaN | International | 2020-02-28 | 705.0 | 0.0 | 4.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
33413 | NaN | NaN | International | 2020-02-29 | 705.0 | 0.0 | 6.0 | 2.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
33414 | NaN | NaN | International | 2020-03-01 | 705.0 | 0.0 | 6.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
33415 | NaN | NaN | International | 2020-03-02 | 705.0 | 0.0 | 6.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
33416 | NaN | NaN | International | 2020-03-10 | 696.0 | -9.0 | 7.0 | 1.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN |
# visualizar o tamanho do Dataframe
df.shape
(33417, 34)
Há 31704 linhas e 34 colunas.
# visualizar as colunas
df.columns
Index(['iso_code', 'continent', 'location', 'date', 'total_cases', 'new_cases',
'total_deaths', 'new_deaths', 'total_cases_per_million',
'new_cases_per_million', 'total_deaths_per_million',
'new_deaths_per_million', 'new_tests', 'total_tests',
'total_tests_per_thousand', 'new_tests_per_thousand',
'new_tests_smoothed', 'new_tests_smoothed_per_thousand', 'tests_units',
'stringency_index', 'population', 'population_density', 'median_age',
'aged_65_older', 'aged_70_older', 'gdp_per_capita', 'extreme_poverty',
'cardiovasc_death_rate', 'diabetes_prevalence', 'female_smokers',
'male_smokers', 'handwashing_facilities', 'hospital_beds_per_thousand',
'life_expectancy'],
dtype='object')
# visualizar os tipos das variáveis
df.dtypes
iso_code object
continent object
location object
date object
total_cases float64
new_cases float64
total_deaths float64
new_deaths float64
total_cases_per_million float64
new_cases_per_million float64
total_deaths_per_million float64
new_deaths_per_million float64
new_tests float64
total_tests float64
total_tests_per_thousand float64
new_tests_per_thousand float64
new_tests_smoothed float64
new_tests_smoothed_per_thousand float64
tests_units object
stringency_index float64
population float64
population_density float64
median_age float64
aged_65_older float64
aged_70_older float64
gdp_per_capita float64
extreme_poverty float64
cardiovasc_death_rate float64
diabetes_prevalence float64
female_smokers float64
male_smokers float64
handwashing_facilities float64
hospital_beds_per_thousand float64
life_expectancy float64
dtype: object
Nessa verificação dos tipos de variáveis, podemos verificar que a coluna Date está como tipo object, vamos fazer o tratamento da mesma e alterá-la para o tipo data para melhor manipulação.
#transformar o tipo da variavel date para o tipo datetime
df.date = pd.to_datetime(df.date)
df.dtypes
iso_code object
continent object
location object
date datetime64[ns]
total_cases float64
new_cases float64
total_deaths float64
new_deaths float64
total_cases_per_million float64
new_cases_per_million float64
total_deaths_per_million float64
new_deaths_per_million float64
new_tests float64
total_tests float64
total_tests_per_thousand float64
new_tests_per_thousand float64
new_tests_smoothed float64
new_tests_smoothed_per_thousand float64
tests_units object
stringency_index float64
population float64
population_density float64
median_age float64
aged_65_older float64
aged_70_older float64
gdp_per_capita float64
extreme_poverty float64
cardiovasc_death_rate float64
diabetes_prevalence float64
female_smokers float64
male_smokers float64
handwashing_facilities float64
hospital_beds_per_thousand float64
life_expectancy float64
dtype: object
# verificar valores ausentes
(df.isnull().sum() / df.shape[0]).sort_values(ascending = False)
new_tests_per_thousand 0.688751
new_tests 0.688751
total_tests_per_thousand 0.681390
total_tests 0.681390
new_tests_smoothed_per_thousand 0.655265
new_tests_smoothed 0.655265
tests_units 0.632283
handwashing_facilities 0.588114
extreme_poverty 0.405542
male_smokers 0.294042
female_smokers 0.285483
stringency_index 0.188138
hospital_beds_per_thousand 0.181465
aged_65_older 0.113086
gdp_per_capita 0.110991
aged_70_older 0.104677
median_age 0.100039
cardiovasc_death_rate 0.099770
diabetes_prevalence 0.069216
population_density 0.045097
life_expectancy 0.013945
new_deaths_per_million 0.012539
total_deaths_per_million 0.012539
new_cases_per_million 0.012539
total_cases_per_million 0.012539
new_deaths 0.010623
total_deaths 0.010623
new_cases 0.010623
total_cases 0.010623
continent 0.008259
population 0.001915
iso_code 0.001915
date 0.000000
location 0.000000
dtype: float64
# ver para a data mais atual, quais os 5 países que tem mais casos
df.loc[df.date == '2020-07-29', ['location', 'total_cases']].sort_values(by="total_cases", ascending=False)[1:6]
location | total_cases | |
---|---|---|
31785 | United States | 4351997.0 |
4521 | Brazil | 2483191.0 |
14203 | India | 1531669.0 |
25210 | Russia | 823515.0 |
27706 | South Africa | 459761.0 |
# ver para a data mais atual, quais os 5 países que tem mais mortes
df.loc[df.date=='2020-07-29', ['location', 'total_deaths']].sort_values(by="total_deaths", ascending=False)[1:6]
location | total_deaths | |
---|---|---|
31785 | United States | 149256.0 |
4521 | Brazil | 88539.0 |
31573 | United Kingdom | 45878.0 |
19953 | Mexico | 44876.0 |
15595 | Italy | 35123.0 |
###Plotagem de Gráficos
Vamos plotar gráficos para melhor visualização dos dados:
#plotar gráfico dos 5 primeiros países com o maior número de casos
fig, ax = plt.subplots(figsize=(10,5))
top5_cases = df.loc[df.date=='2020-07-29',['location', 'total_cases']].sort_values(by='total_cases', ascending=False)[1:6]
sns.barplot(x='location', y='total_cases',data=top5_cases, color="b")
#formatar o ax
ax.ticklabel_format(style='plain', axis='y')
ax.set_xlabel("País")
ax.set_ylabel("Número de Casos")
ax.set_title("Países com o maior número de casos de COVID-19")
#inserir o valor acima de cada barra
for index,data in enumerate(top5_cases['total_cases']):
ax.text(x=index , y=data, s=round(data), horizontalalignment='center',verticalalignment='bottom')
plt.tight_layout()
#plotar gráfico dos 5 primeiros países com o maior numero de mortes
fig, ax = plt.subplots(figsize=(10,5))
top5_deaths = df.loc[df.date=='2020-07-29',['location', 'total_deaths']].sort_values(by='total_deaths', ascending=False)[1:6]
sns.barplot(x='location', y='total_deaths',data=top5_deaths, color="r")
#formatar o ax
ax.set_xlabel("País")
ax.set_ylabel("Mortes")
ax.set_title("Países com o maior número de mortes por COVID-19")
#inserir o valor acima de cada barra
for index,data in enumerate(top5_deaths['total_deaths']):
ax.text(x=index , y=data, s=round(data), horizontalalignment='center',verticalalignment='bottom')
plt.tight_layout()
Vamos verificar como foi a evolução dos casos de COVID-19 no Mundo.
fig, ax = plt.subplots(figsize=(10,5))
ev = df.loc[df.location=='World',['date', 'total_cases']].sort_values(by='total_cases', ascending=True)
sns.lineplot(x='date', y='total_cases', data=ev)
ax.ticklabel_format(style='plain', axis='y')
ax.set(xlabel='Data')
ax.set(ylabel='Número de Casos')
ax.set_title("Casos de COVID-19 no Mundo ao longo do tempo")
plt.tight_layout()
#plotar gráfico de dispersão em relaçao ao PIB x número de mortes
fig, ax = plt.subplots(figsize=(8,5))
gdsp = df.loc[df.date=='2020-07-29',['gdp_per_capita', 'total_deaths']].sort_values(by='gdp_per_capita')
sns.scatterplot(x='gdp_per_capita', y='total_deaths', data=gdsp)
ax.ticklabel_format(style='plain', axis='y')
ax.set(xlabel='PIB')
ax.set(ylabel='Total de Mortes')
plt.tight_layout()
Lembrando que esse gráfico não é nada conclusivo, pois envolve fatores como proporção de testes, etc..
Vamos fazer uma Análise Exploratória do Brasil:
#criar uma cópia do Dataframe apenas com o Brasil
df_brasil = df.loc[df.location == 'Brazil'].copy()
#visualizar as 5 primeiras linhas
df_brasil.head()
iso_code | continent | location | date | total_cases | new_cases | total_deaths | new_deaths | total_cases_per_million | new_cases_per_million | total_deaths_per_million | new_deaths_per_million | new_tests | total_tests | total_tests_per_thousand | new_tests_per_thousand | new_tests_smoothed | new_tests_smoothed_per_thousand | tests_units | stringency_index | population | population_density | median_age | aged_65_older | aged_70_older | gdp_per_capita | extreme_poverty | cardiovasc_death_rate | diabetes_prevalence | female_smokers | male_smokers | handwashing_facilities | hospital_beds_per_thousand | life_expectancy | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4310 | BRA | South America | Brazil | 2019-12-31 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
4311 | BRA | South America | Brazil | 2020-01-01 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
4312 | BRA | South America | Brazil | 2020-01-02 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
4313 | BRA | South America | Brazil | 2020-01-03 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
4314 | BRA | South America | Brazil | 2020-01-04 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 0.0 | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
Vamos identificar quando ocorreu o primeiro caso no Brasil:
df_brasil.loc[df_brasil.total_cases == 1.0].sort_values(by='date').head(1)
iso_code | continent | location | date | total_cases | new_cases | total_deaths | new_deaths | total_cases_per_million | new_cases_per_million | total_deaths_per_million | new_deaths_per_million | new_tests | total_tests | total_tests_per_thousand | new_tests_per_thousand | new_tests_smoothed | new_tests_smoothed_per_thousand | tests_units | stringency_index | population | population_density | median_age | aged_65_older | aged_70_older | gdp_per_capita | extreme_poverty | cardiovasc_death_rate | diabetes_prevalence | female_smokers | male_smokers | handwashing_facilities | hospital_beds_per_thousand | life_expectancy | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4367 | BRA | South America | Brazil | 2020-02-26 | 1.0 | 1.0 | 0.0 | 0.0 | 0.005 | 0.005 | 0.0 | 0.0 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 5.56 | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
Vamos identificar quando ocorreu a primeira morte no Brasil:
df_brasil.loc[df_brasil.total_deaths == 1.0].sort_values(by='date').head(1)
iso_code | continent | location | date | total_cases | new_cases | total_deaths | new_deaths | total_cases_per_million | new_cases_per_million | total_deaths_per_million | new_deaths_per_million | new_tests | total_tests | total_tests_per_thousand | new_tests_per_thousand | new_tests_smoothed | new_tests_smoothed_per_thousand | tests_units | stringency_index | population | population_density | median_age | aged_65_older | aged_70_older | gdp_per_capita | extreme_poverty | cardiovasc_death_rate | diabetes_prevalence | female_smokers | male_smokers | handwashing_facilities | hospital_beds_per_thousand | life_expectancy | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
4388 | BRA | South America | Brazil | 2020-03-18 | 291.0 | 57.0 | 1.0 | 1.0 | 1.369 | 0.268 | 0.005 | 0.005 | NaN | NaN | NaN | NaN | NaN | NaN | NaN | 60.65 | 212559409.0 | 25.04 | 33.5 | 8.552 | 5.06 | 14103.452 | 3.4 | 177.961 | 8.11 | 10.1 | 17.9 | NaN | 2.2 | 75.88 |
Vamos verificar quantos dias levou do primeiro caso a primeira morte:
df_brasil_tempo = df_brasil.date.loc[4334] - df_brasil.date.loc[4313]
df_brasil_tempo.days
21
Vamos calcular a média do índice de mortalidade:
df_totald = df_brasil.loc[df.date == '2020-07-29', ['total_deaths']]
df_totalc = df_brasil.loc[df.date == '2020-07-29', ['total_cases']]
mortalidade = (df_totald.total_deaths / df_totalc.total_cases) * 100
print(round(mortalidade,2))
4521 3.57
dtype: float64
###Plotagem de Gráficos
Vamos plotar gráficos para melhor visualização dos dados:
#plotar gráfico em linha com o número de novos casos diários
fig, ax = plt.subplots(figsize=(10,5))
sns.lineplot(x='date', y='new_cases', data=df_brasil)
#formatar o ax
ax.ticklabel_format(style='plain', axis='y')
ax.set(xlabel='Data')
ax.set(ylabel='Número de Casos')
ax.set_title("Novos casos diários de COVID-19 no Brasil")
plt.tight_layout()
#plotar gráfico em linha com o número de mortes diárias
fig, ax = plt.subplots(figsize=(10,5))
sns.lineplot(x='date', y='new_deaths', data=df_brasil)
#formatar o ax
ax.set(xlabel='Data')
ax.set(ylabel='Número de mortes')
ax.set_title("Mortes diárias por COVID-19 no Brasil")
plt.tight_layout()
Infelizmente a Pandemia da COVID-19 continua em andamento, e enquanto não houver uma vacina eficaz a evolução da doença tende a ser mais rápida, apesar da queda de casos diários por conta da quarentena. Nessa análise, conseguimos visualizar informações importantes, como:
O primeiro caso de COVID-19 no Brasil ocorreu no dia 26 de fevereiro de 2020.
A primeira morte por COVID-19 no Brasil ocorreu no dia 18 de março de 2020.
Levou cerca de 21 dias entre o primeiro caso e a primeira morte no Brasil.
Lembrando que esses dados são atualizados até o dia 29 de julho de 2020, e podem estar desatualizados dependendo da data em que esse notebook for lido.