Análise dos Dados da COVID-19 no Brasil e no Mundo

Pandas Couple
13 min readMar 17, 2021
Photo by engin akyurt on Unsplash

Os coronavírus são uma família de vírus comuns em muitas espécies diferentes de animais, e raramente infectam pessoas. No entanto, em dezembro de 2019, houve a transmissão de um novo coronavírus (SARS-CoV-2), o qual foi identificado em Wuhan na China e causou a COVID-19, sendo em seguida disseminada e transmitida pessoa a pessoa, gerando a pandemia que vivemos hoje.

A doença afeta as pessoas de diferentes maneiras. De acordo com a Organização Mundial de Saúde, a maioria (cerca de 80%) das pessoas infectadas podem apresentar sintomas leves ou ser assintomáticos, e a minoria (cerca de 20%) das pessoas infectadas necessitam atendimento hospitalar por apresentarem dificuldade respiratória. Dessa minoria que necessita atendimento hospitalar, em torno de 5% podem necessitar de suporte ventilatório.

Muitas pesquisas e estudos estão sendo realizados em todo o mundo, porém ainda não podemos dizer que temos resultados conclusivos e definitivos.

Um ano após o primeiro caso de COVID-19 no Brasil e por infelizmente ainda estar em total evidência em nossas vidas, iremos fazer uma análise exploratória com os dados públicos disponíveis.

Obtenção dos Dados

Os dados utilizados para essa análise foram obtidos do Our World in Data, uma base de dados abertos que tem como foco os maiores problemas mundiais.

O dataset completo da COVID-19 é atualizado diariamente e contem dados de casos confirmados, óbitos, taxa de hospitalização, testes e vacinação, entre outros.

O arquivo utilizado wid-covid-data.csv está disponível neste repositório do Our Word in Data.

Essa é uma análise extremamente delicada tendo em vista que por se tratar de uma doença ainda nova e por isto não existir uma fonte de dados única e absoluta, podem existir conflitos entre as diversas fontes de dados disponíveis.

Análise dos Dados

Para dar início, serão apresentadas algumas informações básicas iniciais sobre o dataframe para conhecermos melhor os dados a serem estudados.

Variáveis e entradas

Vamos verificar:

  • tamanho do dataframe
  • nomes e tipos das variáveis (colunas)
Entradas:   75071
Variáveis: 59
iso_code object
continent object
location object
date object
total_cases float64
new_cases float64
new_cases_smoothed float64
total_deaths float64
new_deaths float64
new_deaths_smoothed float64
total_cases_per_million float64
new_cases_per_million float64
new_cases_smoothed_per_million float64
total_deaths_per_million float64
new_deaths_per_million float64
new_deaths_smoothed_per_million float64
reproduction_rate float64
icu_patients float64
icu_patients_per_million float64
hosp_patients float64
hosp_patients_per_million float64
weekly_icu_admissions float64
weekly_icu_admissions_per_million float64
weekly_hosp_admissions float64
weekly_hosp_admissions_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
positive_rate float64
tests_per_case float64
tests_units object
total_vaccinations float64
people_vaccinated float64
people_fully_vaccinated float64
new_vaccinations float64
new_vaccinations_smoothed float64
total_vaccinations_per_hundred float64
people_vaccinated_per_hundred float64
people_fully_vaccinated_per_hundred float64
new_vaccinations_smoothed_per_million float64
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
human_development_index float64
dtype: object

Conforme mostrado acima, o dataset possui 59 variáveis (colunas) e neste momento 75.071 entradas (linhas), lembrando que como ele é diariamente atualizado, esse é o número de entradas no momento desta análise.

Antes de prosseguimos, será apresentada uma lista das variáveis para entendermos melhor os dados que serão exploradas em seguida.

Lista de Variáveis do dataset:

  • iso_code: código de 3 letras dos países (ISO 3166-1 alpha-3).
  • continent: continente da localização geográfica.
  • location: localização geográfica.
  • date: data de observação.
  • total_cases: número total de casos confirmados de COVID-19.
  • new_cases: número de novos casos confirmados de COVID-19.
  • new_cases_smoothed: média móvel de novos casos confirmados de COVID-19.
  • total_deaths: número total de óbitos pela COVID-19.
  • new_deaths: número de novos óbitos pela COVID-19.
  • new_deaths_smoothed: média móvel de novos óbitos pela COVID-19.
  • total_cases_per_million: número total de casos confirmados de COVID-19 por 1 milhão de pessoas.
  • new_cases_per_million: número de novos casos confirmados de COVID-19 por 1 milhão de pessoas.
  • new_cases_smoothed_per_million: média móvel de novos casos confirmados de COVID-19 por 1 milhão de pessoas.
  • total_deaths_per_million: número total de óbitos pela COVID-19 por 1 milhão de pessoas.
  • new_deaths_per_million: número de novos óbitos pela COVID-19 por 1 milhão de pessoas.
  • new_deaths_smoothed_per_million: média móvel de novos óbitos pela COVID-19 por 1 milhão de pessoas.
  • reproduction_rate: estimativa em tempo real da taxa de reprodução efetiva da COVID-19 (taxa de contágios causado por cada pessoa infectada).
  • icu_patients: número de pacientes da COVID-19 em unidades de tratamento intensivo em determinado dia.
  • icu_patients_per_million: número de pacientes da COVID-19 em unidades de tratamento intensivo em determinado dia por 1 milhão de pessoas.
  • hosp_patients: número de pacientes da COVID-19 hospitalizados em determinado dia.
  • hosp_patients_per_million: número de pacientes da COVID-19 hospitalizados em determinado dia por 1 milhão de pessoas.
  • weekly_icu_admissions: número de novos pacientes da COVID-19 admitidos em unidades de tratamento intensivo em determinada semana.
  • weekly_icu_admissions_per_million: número de novos pacientes da COVID-19 admitidos em unidades de tratamento intensivo em determinada semana por 1 milhão de pessoas.
  • weekly_hosp_admissions: número de novos pacientes da COVID-19 hospitalizados em determinada semana.
  • weekly_hosp_admissions_per_million: número de novos pacientes da COVID-19 hospitalizados em determinada semana por 1 milhão de pessoas.
  • new_tests: número de novos testes para COVID-19 (calculados somente para dias consecutivos).
  • total_tests: número total de testes para COVID-19.
  • total_tests_per_thousand: número total de testes para COVID-19 por mil pessoas.
  • new_tests_per_thousand: número de novos testes para COVID-19 por mil pessoas.
  • new_tests_smoothed: média móvel de novos testes para COVID-19 (para os países que não reportam diariamente os dados de novos testes, admite-se que houve a mesma variação no número de novos testes naquele determinado período sem dados e então é feita a média móvel).
  • new_tests_smoothed_per_thousand: média móvel de novos testes para COVID-19 por mil pessoas.
  • positive_rate: parcela positiva de testes para COVID-19 (o inverso de tests_per_case).
  • tests_per_case: número de testes por número de novos casos confirmados para COVID-19 (o inverso de positive_rate).
  • tests_units: unidades usadas por localização para reportar os dados de testes.
  • total_vaccinations: número total de doses de vacinas administradas contra COVID-19.
  • people_vaccinated: número total de pessoas que receberam pelo menos uma dose da vacina contra COVID-19.
  • people_fully_vaccinated: número total de pessoas que receberam todas as doses prescritas pelo protocolo de vacinação contra COVID-19.
  • new_vaccinations: número de novas doses de vacinas administradas contra COVID-19 (calculados somente para dias consecutivos).
  • new_vaccinations_smoothed: média móvel de novas doses de vacinas administradas contra COVID-19 (para os países que não reportam diariamente os dados de vacinação, admite-se que houve a mesma variação no número de novas doses de vacinas naquele determinado período sem dados e então é feita a média móvel).
  • total_vaccinations_per_hundred: número total de doses de vacinas administradas contra COVID-19 por 100 pessoas na população total.
  • people_vaccinated_per_hundred: número total de pessoas que receberam pelo menos uma dose da vacina contra COVID-19 por 100 pessoas na população total.
  • people_fully_vaccinated_per_hundred: número total de pessoas que receberam todas as doses prescritas pelo protocolo de vacinação contra COVID-19 por 100 pessoas na população total.
  • new_vaccinations_smoothed_per_million: média móvel de novas doses de vacinas administradas contra COVID-19 por 1 milhão de pessoas na população total.
  • stringency_index: índice do rigor de resposta do governo (medida composta com base em 9 indicadores como fechamento de escolas, fechamento de locais de trabalho e proibições de viagens, redimensionado para um valor de 0 a 100 (100 = resposta mais estrita).
  • population: população em 2020.
  • population_density: densidade demográfica (população por quilometro quadrado) do ano mais recente disponível.
  • median_age: mediana da idade da população (projeção da ONU para 2020).
  • aged_65_older: parcela da população com 65 anos ou mais do ano mais recente disponível.
  • aged_70_older: parcela da população com 70 anos ou mais em 2015.
  • gdp_per_capita: PIB (produto interno bruto) em paridade de poder de compra (dólares internacionais constantes de 2011), ano mais recente disponível.
  • extreme_poverty: parcela da população que vive em extrema pobreza, ano mais recente disponível desde 2010.
  • cardiovasc_death_rate: taxa de mortalidade por doenças cardiovasculares em 2017 (número anual de mortes por 100.000 pessoas).
  • diabetes_prevalence: prevalência de diabetes (% da população de 20 a 79 anos) em 2017.
  • female_smokers: parcela de mulheres que fumam, ano mais recente disponível.
  • male_smokers: parcela de homens que fumam, ano mais recente disponível.
  • handwashing_facilities: parcela da população com instalações básicas para lavagem das mãos no local, ano mais recente disponível.
  • hospital_beds_per_thousand: leitos hospitalares por mil pessoas, ano mais recente disponível desde 2010.
  • life_expectancy: expectativa de vida ao nascer em 2019.
  • human_development_index: índice composto que mede o desempenho médio em três dimensões básicas do desenvolvimento humano - uma vida longa e saudável, conhecimento e um padrão de vida decente. Valores para 2019.

Agora que já sabemos o que cada variável representa, vamos mostrar as 5 primeiras e 5 últimas entradas afim de entendermos a aparência do dataset.

Valores ausentes no dataset

Um dos passos mais importantes da análise exploratória é obter a proporção de valores ausentes do dataset, uma vez que isso indica a qualidade do mesmo.

Para isso, vamos imprimir a proporção de valores ausentes em cada coluna, em ordem decrescente:

weekly_icu_admissions                    0.990902
weekly_icu_admissions_per_million 0.990902
weekly_hosp_admissions 0.983203
weekly_hosp_admissions_per_million 0.983203
people_fully_vaccinated 0.968150
people_fully_vaccinated_per_hundred 0.968150
new_vaccinations 0.954443
people_vaccinated 0.952019
people_vaccinated_per_hundred 0.952019
total_vaccinations 0.946024
total_vaccinations_per_hundred 0.946024
new_vaccinations_smoothed 0.918371
new_vaccinations_smoothed_per_million 0.918371
icu_patients 0.896645
icu_patients_per_million 0.896645
hosp_patients 0.875624
hosp_patients_per_million 0.875624
total_tests 0.547828
total_tests_per_thousand 0.547828
new_tests 0.544897
new_tests_per_thousand 0.544897
handwashing_facilities 0.538610
tests_per_case 0.505255
positive_rate 0.497542
new_tests_smoothed_per_thousand 0.480439
new_tests_smoothed 0.480439
tests_units 0.462602
extreme_poverty 0.378535
male_smokers 0.287661
female_smokers 0.277737
reproduction_rate 0.195588
hospital_beds_per_thousand 0.158983
total_deaths_per_million 0.143624
new_deaths_per_million 0.141519
stringency_index 0.139774
total_deaths 0.138429
new_deaths 0.136324
aged_65_older 0.102570
aged_70_older 0.097241
median_age 0.092126
gdp_per_capita 0.089156
human_development_index 0.081656
cardiovasc_death_rate 0.080910
diabetes_prevalence 0.069121
population_density 0.065818
life_expectancy 0.049926
continent 0.049367
new_cases_smoothed_per_million 0.034021
new_deaths_smoothed_per_million 0.034021
new_deaths_smoothed 0.028719
new_cases_smoothed 0.028719
new_cases_per_million 0.020754
total_cases_per_million 0.020727
new_cases 0.015385
total_cases 0.015359
population 0.005488
date 0.000000
location 0.000000
iso_code 0.000000
dtype: float64

A partir da relação obtida, é possível observar:

  • Aproximadamente 29% das variáveis (17 das 59) tem mais de 87% das entradas nulas.
  • Aproximadamente 17% das variáveis (10 das 59) tem em torno de 50% das entradas nulas.
  • Aproximadamente 19% das variáveis (11 das 59) tem de 10 a 40% das entradas nulas.
  • Aproximadamente 30% das variáveis (18 das 59) tem menos de 10% das entradas nulas.
  • Apenas 3 de 59 variáveis (5%) não possuem valores nulos.

Resumindo, muitas variáveis praticamente não foram alimentadas e somente 5% das variáveis possuem todas as entradas.

Para uma análise mais profunda, é necessário tratar esses dados faltantes.

A COVID-19 no mundo

Agora que já temos uma noção da qualidade do dataset, vamos conhecer os dados estatísticos, que serão utilizados nas análises posteriores.

Abaixo será plotado o resumo estatístico:

resumo estatístico COVID-19 no mundo

Países com maior números de casos de COVID-19

Para explorarmos as informações em função da coluna date é necessário transformá-la do formato object para datetime.

Em seguida, verificaremos a data mais recente do dataset.

Timestamp('2021-03-15 00:00:00')

Conforme verificado, a ultima data é de 15 de março de 2021, que corresponde ao dia anterior a esta análise. Isso confirma o que foi pontuado anteriormente dobre esse dataset ser alimentado diariamente.

Com essa informação, vamos verificar os países líderes em número de casos de COVID-19 até o momento desta análise.

dataframe ordenado por maior número de casos até o momento

Os 3 países com maior número de casos de COVID-19 até o momento (15 de Março de 2021) são:

  • Estados Unidos : 29.495.424 casos
  • Brasil : 11.519.609 casos
  • Índia : 11.409.831 casos
países líderes em número de casos

Países com maior números de óbitos por COVID-19

Vamos verificar agora os países líderes em número de óbitos por COVID-19 até o momento desta análise.

dataframe ordenado por maior número de óbitos até o momento

Os 3 países com maior número de óbitos por COVID-19 até o momento (15 de Março de 2021) são:

  • Estados Unidos: 535.628 óbitos
  • Brasil : 279.286 óbitos
  • México : 194.944 óbitos

É interessante observar que apesar da Índia estar no top 3 países com maiores números de casos de COVID-19, o México a ultrapassa em número de óbitos, o que pode indicar a possibilidade de uma alta taxa de letalidade no México. Faremos este cálculo em seguida.

países líderes em número de óbitos

Taxa de mortalidade da COVID-19

Vamos calcular a taxa de mortalidade do vírus no mundo e também nos 3 países líderes em óbitos.

A taxa de mortalidade é a proporção de óbitos em relação à população total.

Vale ressaltar que essa taxa é dinâmica e sofre alterações no decorrer da pandemia.

Taxa de mortalidade no mundo:   0.034 %
Taxa de mortalidade nos EUA: 0.162 %
Taxa de mortalidade no Brasil: 0.131 %
Taxa de mortalidade no México: 0.151 %

Taxa de letalidade da COVID-19

Diferentemente da taxa de mortalidade, vamos agora calcular a taxa de letalidade que é a proporção de pessoas infectadas que evoluem para óbtido, ou seja, avalia o número de óbitos em relação às pessoas que apresentam a doença ativa, e não em relação à população toda.

Faremos isto para o mundo e também para os 3 países líderes em óbitos.

Vale ressaltar que essa taxa assim como a de mortalidade é dinâmica e sofre alterações no decorrer da pandemia.

Taxa de letalidade no mundo:   2.21 %
Taxa de letalidade nos EUA: 1.82 %
Taxa de letalidade no Brasil: 2.42 %
Taxa de letalidade no México: 8.99 %

Avanço da doença no mundo

Vamos plotar agora um gráfico de linhas afim de visualizar a evolução de óbitos por COVID-19 no mundo, desde o início da pandemia.

gráfico de linhas para óbitos por COVID-19 no mundo

É muito claro que pouco antes de 100 dias após o primeiro caso de COVID-19 o mundo passa a sofrer com a forte ascensão da curva de óbitos (e permanece em acensão).

Avanço da vacinação no mundo

Photo by Hakan Nural on Unsplash

Conforme vimos até agora, a doença continua em crescimento exponencial no mundo.

Graças à ciência, a vacinação contra COVID-19 já está acontecendo e também está avançando. É isso que vamos analisar agora.

Primeiramente, vamos plotar um gráfico de linhas para pessoas que receberam pelo menos uma dose de vacina até o momento desta análise.

avanço da vacinação no mundo

O gráfico plotado acima nos mostra que a vacinação só teve início mais de 300 dias após o primeiro caso de COVID-19, ou seja, quase um ano.

Vamos visualizar as curvas do avanço do número de casos e do avanço da vacinação (pessoas que receberam pelo menos uma dose de vacina).

número de casos x pessoas vacinadas no mundo

A partir desse gráfico de casos x vacinas é possível perceber:

  • ainda estamos no início da vacinação, visto que ela teve início mais de 300 dias após os primeiros casos de COVID-19.
  • o número de pessoas que receberam pelo menos uma dose de vacina já superou o número de casos com menos de 100 dias de vacinação.

A COVID-19 no Brasil

Já foi possível ter uma noção de como a doença e a vacinação está caminhando no mundo, e infelizmente o Brasil está entre os países líderes em casos e em mortes, conforme visto anteriormente.

Vamos explorar agora um pouco mais os dados referentes ao Brasil.

primeiras entradas do dataset do Brasil

A partir deste dataset, vamos identificar os seguintes dados:

  • a data do primeiro caso registrado de COVID-19 no Brasil
  • a data do primeiro óbito registrado por COVID-19 no Brasil
  • o tempo entre o primeiro caso e o primeiro óbito registrados por COVID-19 no Brasil
  • quantos casos registrados haviam na data do primeiro óbito registradopor COVID-19 no Brasil
primeiro caso de COVID-19 no Brasil
primeiro óbito por COVID-19 no Brasil
0   20 days
Name: date, dtype: timedelta64[ns]
9659 321.0
Name: total_cases, dtype: float64

Acima foram identificados os seguintes dados:

  • o primeiro caso de COVID-19 no Brasil foi registrado em 26/02/2020.
  • o primeiro óbito por COVID-19 no Brasil foi registrado em 17/03/2020.
  • se passaram 20 dias entre o primeiro caso e o primeiro óbito registrados por COVID-19 no Brasil.
  • haviam 321 casos quando foi registrado o primeiro óbito por COVID-19 no Brasil.

Para finalizar, vamos plotar um gráfico de linhas para compararmos a evolução dos casos e vacinas da COVID-19 no Brasil.

número de casos x pessoas vacinadas no Brasil
avanço da vacinação no Brasil e no mundo

A partir desses dois gráficos plotados acima, podemos pontuar:

  • o número de casos no Brasil infelizmente ainda é superior ao número de pessoas vacinadas no Brasil
  • o avanço da vacinação no Brasil ainda é absurdamente inferior comparada ao avanço da vacinação no mundo.

Conclusão

Primeiramente, é importante voltar a ressaltar que os dados utilizados para esta análise são diariamente atualizados, fazendo com que esta análise seja pertinente por um curto período de tempo.

Tendo isso em vista, podemos destacar:

  • Os Estados Unidos é o país líder em casos e óbitos pela COVID-19.
  • As taxas de mortalidade e letalidade do vírus atingem valores preocupantes.
  • A evolução dos casos e óbitos ainda está em crescimento no Brasil e no mundo.
  • A evolução da vacinação também está em crescimento e já ultrapassou o número de casos de COVID-19 no mundo.
  • O Brasil ainda tem número de casos maior que o número de pessoas vacinadas.

Outras análises mais aprofundadas podem ser feitas a partir dessa EDA onde já foi possível extrair muitas informações pertinentes sobre a COVID-19 no Brasil e no mundo.

Obrigada!

Obrigada pelo seu tempo! Se tiver qualquer dúvida ou feedback vou adorar que você comente ou entre em contato com pelo Linkedin.

Para ver esse e outros projetos completos, acesse meu portfólio no GitHub.

Valeu!

--

--

Pandas Couple

Casal de Cientistas de Dados, contribuindo para a comunidade de Data Science.