Análise de Dados da COVID-19 com Python

PythonBeginner
Pratique Agora

Introdução

Neste projeto, você aprenderá como analisar dados da COVID-19 usando Python. A pandemia de COVID-19 teve um impacto significativo no mundo, e entender os dados é crucial para rastrear a disseminação do vírus e tomar decisões informadas.

👀 Visualização

{
  "Confirmed": {
    "Africa": 1203094,
    "America": 6396173,
    "Asia": 6480321,
    "Europe": 3450299,
    "Oceania": 27346,
    "Others": 721,
    "Total": 17557954
  },
  "Deaths": {
    "Africa": 28289,
    "America": 254610,
    "Asia": 133186,
    "Europe": 206438,
    "Oceania": 576,
    "Others": 15,
    "Total": 623114
  },
  "Recovered": {
    "Africa": 930536,
    "America": 5087347,
    "Asia": 5163062,
    "Europe": 1927545,
    "Oceania": 21892,
    "Others": 651,
    "Total": 13131033
  },
  "Active": {
    "Africa": 244269,
    "America": 1054216,
    "Asia": 1184073,
    "Europe": 1316316,
    "Oceania": 4878,
    "Others": 55,
    "Total": 3803807
  }
}

🎯 Tarefas

Neste projeto, você aprenderá:

  • Como configurar o ambiente de desenvolvimento e instalar as bibliotecas Python necessárias
  • Como entender a estrutura e o conteúdo dos dados da COVID-19
  • Como implementar uma função para converter nomes de países em nomes de continentes
  • Como processar os dados da COVID-19 e calcular as estatísticas resumidas para cada continente
  • Como testar o código e verificar a saída

🏆 Conquistas

Após concluir este projeto, você será capaz de:

  • Entender como trabalhar com dados CSV em Python
  • Implementar funções para processar e analisar dados
  • Converter dados entre diferentes formatos (por exemplo, CSV para JSON)
  • Ganhar experiência em análise e visualização de dados
  • Contribuir para a compreensão da pandemia de COVID-19 por meio de insights baseados em dados

Preparar o Ambiente

Nesta etapa, você aprenderá como configurar o ambiente para o projeto de análise de dados da COVID-19.

  1. Abra o terminal e navegue até o diretório /home/labex/project.
  2. Instale as bibliotecas Python necessárias executando o seguinte comando:
python3 -m pip install pandas country-converter

Isso instalará as bibliotecas pandas e country-converter, que são necessárias para o projeto.

✨ Verificar Solução e Praticar

Entender os Dados

Os dados da COVID-19 são fornecidos em um arquivo CSV localizado no diretório /home/labex/project. O arquivo contém as seguintes colunas:

  • Country_Region: O nome do país ou região.
  • Confirmed: O número total de casos confirmados de COVID-19.
  • Deaths: O número total de mortes por COVID-19.
  • Recovered: O número total de recuperações de COVID-19.
  • Active: O número total de casos ativos de COVID-19.

Sua tarefa é processar esses dados e calcular as estatísticas resumidas para cada continente.

✨ Verificar Solução e Praticar

Implementar a Função country_to_continent

O primeiro passo é criar uma função que possa converter o nome de um país para o nome do seu continente correspondente. Crie um novo arquivo chamado covid.py no diretório /home/labex/project e adicione o seguinte código:

import country_converter as coco

def country_to_continent(country_name):
    """This function takes a country name and returns the continent name."""
    try:
        ## Convert country name to continent name
        if country_name == "Diamond Princess" or country_name == "MS Zaandam":
            return "Others"
        country_continent_name = coco.convert(names=country_name, to="continent")
        ## If country name is not found, return 'Others'
        if country_continent_name == "not found":
            return "Others"
        return country_continent_name
    except:
        return "Others"

Esta função usa a biblioteca country-converter para converter o nome de um país para o nome do seu continente correspondente. Se o nome do país não for encontrado, ela retorna "Others".

✨ Verificar Solução e Praticar

Implementar a Função count

Em seguida, você precisa implementar a função count, que processará os dados da COVID-19 e retornará as estatísticas resumidas para cada continente. Adicione o seguinte código ao arquivo covid.py:

import json
import pandas as pd

def count(data):
    """This function takes a file path and returns the total number of
    confirmed, deaths, recovered and active cases for each continent."""
    ## Read the data from the file
    df = pd.read_csv(data)
    ## Fill missing values with 0
    df.fillna(0, inplace=True)
    ## Remove rows with missing values
    df = df[df["Confirmed"] == df["Deaths"] + df["Recovered"] + df["Active"]]
    ## Convert country name to continent name
    df["Continent"] = df["Country_Region"].apply(country_to_continent)
    ## Convert data type to int
    df[["Confirmed", "Deaths", "Recovered", "Active"]] = df[
        ["Confirmed", "Deaths", "Recovered", "Active"]
    ].astype(int)
    ## Select columns of interest and change them into dictionary
    df = df[["Continent", "Confirmed", "Deaths", "Recovered", "Active"]]
    result = df.groupby("Continent").sum().to_dict()
    ## Add total for each continent
    for key in result.keys():
        result[key]["Total"] = sum(result[key].values())
    return json.dumps(result)

Esta função lê os dados da COVID-19 do arquivo CSV, processa os dados e retorna as estatísticas resumidas para cada continente em formato JSON.

✨ Verificar Solução e Praticar

Testar o Código

Para testar o código, você pode executar o seguinte comando no terminal:

python3 covid.py

Isso executará a função count e imprimirá os dados JSON resultantes no console.

✨ Verificar Solução e Praticar

Verificar a Saída

A saída da função count deve ser uma string JSON que se assemelha ao seguinte:

{
  "Confirmed": {
    "Africa": 1203094,
    "America": 6396173,
    "Asia": 6480321,
    "Europe": 3450299,
    "Oceania": 27346,
    "Others": 721,
    "Total": 17557954
  },
  "Deaths": {
    "Africa": 28289,
    "America": 254610,
    "Asia": 133186,
    "Europe": 206438,
    "Oceania": 576,
    "Others": 15,
    "Total": 623114
  },
  "Recovered": {
    "Africa": 930536,
    "America": 5087347,
    "Asia": 5163062,
    "Europe": 1927545,
    "Oceania": 21892,
    "Others": 651,
    "Total": 13131033
  },
  "Active": {
    "Africa": 244269,
    "America": 1054216,
    "Asia": 1184073,
    "Europe": 1316316,
    "Oceania": 4878,
    "Others": 55,
    "Total": 3803807
  }
}

Esta saída representa as estatísticas resumidas para cada continente, incluindo o número total de casos confirmados, óbitos, recuperações e casos ativos.

Parabéns! Você concluiu o projeto de análise de dados da COVID-19. Se tiver alguma dúvida ou problema, sinta-se à vontade para perguntar.

✨ Verificar Solução e Praticar

Resumo

Parabéns! Você concluiu este projeto. Você pode praticar mais laboratórios no LabEx para aprimorar suas habilidades.