Making Of: Uma API grátis para dados COVID-19

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br


[Esteartigofoipublicadopelaprimeiravezem[Thisarticlewasfirstpublishedon r-blogueiros | STATWORX, e gentilmente contribuiu para os R-blogueiros]. (Você pode relatar um problema sobre o conteúdo desta página aqui)


Deseja compartilhar seu conteúdo com R-blogueiros? clique aqui se você tiver um blog ou aqui se não tiver.

Recentemente, alguns colegas e eu participamos do hawathon de dois dias COVID-19 #wirvsvirus, organizado pelo governo alemão. Dessa forma, desenvolvemos um ótimo aplicativo para simular curvas COVID-19 com base em estimativas de eficácia de medidas governamentais (FlatCurver). Como existem muitos painéis e visualizações relacionados ao COVID por aí, pensei que reunir os dados subjacentes a partir de um único ponto de verdade seria um problema menor. No entanto, logo percebi que existem muitas fontes de dados diferentes, principalmente com base nos dados do caso COVID-19 da Johns Hopkins University. No começo, achei ótimo, mas, à segunda vista, revisei meu pensamento inicial. Os conjuntos de dados da JHU têm alguns problemas peculiares que tornam um pouco complicado prepará-lo e analisá-lo:

  • nomes de colunas estranhos, incluindo caracteres especiais
  • países e estados “no mix”
  • formato amplo, pouco acessível para análise de dados
  • problemas de importação devido a problemas de quebra de linha
  • etc.

Para todos vocês que estiveram ou estão trabalhando com dados de séries temporais do COVID-19 e desejam aprimorar seu jogo de pipeline de dados, deixe-me dizer: temos uma API para isso! A API usa dados oficiais do Centro Europeu de Prevenção e Controle de Doenças e fornece uma estrutura de dados clara e concisa para processamento, análise, etc.

Visão geral da nossa API COVID-19

Nossa novíssima COVID-19-API traz para você as séries temporais de números de casos mais recentes diretamente no seu aplicativo ou análise, independentemente do seu ambiente de desenvolvimento. Por exemplo, você pode importar facilmente os dados para o Python usando o requests pacote:

import requests
import json
import pandas as pd

# POST to API
payload = {'country': 'Germany'} # or {'code': 'DE'}
URL = 'https://api.statworx.com/covid'
response = requests.post(url=URL, data=json.dumps(payload))

# Convert to data frame
df = pd.DataFrame.from_dict(json.loads(response.text))

Ou, se você é um aficionado por R, use httr e jsonlite para pegar os dados mais recentes e transformá-los em um gráfico interessante.

library(httr)
library(dplyr)
library(jsonlite)
library(ggplot2)

# Post to API
payload %
  mutate(date = as.Date(date)) %>%
  filter(cases_cum > 100) %>%
  filter(code %in% c("US", "DE", "IT", "FR", "ES")) %>%
  group_by(code) %>%
  mutate(time = 1:n()) %>%
  ggplot(., aes(x = time, y = cases_cum, color = code)) +
  xlab("Days since 100 cases") + ylab("Cumulative cases") +
  geom_line() + theme_minimal()

Desenvolvendo a API usando o Flask

O desenvolvimento de um aplicativo Web simples usando Python é direto usando o Flask. Flask é uma estrutura da web para Python. Ele permite que você crie sites, aplicativos da web etc. diretamente do Python. O Flask é amplamente usado para desenvolver serviços da Web e APIs. Um aplicativo simples do Flask se parece com isso.

from flask import Flask
app = Flask(__name__)

@app.route('/')
def handle_request():
  """ This code gets executed """
  return 'Your first Flask app!'

No exemplo acima, app.route decorator define em qual URL nossa função deve ser acionada. Você pode especificar vários decoradores para acionar funções diferentes para cada URL. Você pode conferir nosso código no repositório do Github para ver como criamos a API usando o Flask.

Implantação usando o Google Cloud Run

O desenvolvimento da API usando o Flask é simples. No entanto, criar a infraestrutura e os serviços auxiliares em torno dela pode ser um desafio, dependendo de suas necessidades específicas. Algumas coisas que você deve considerar ao implantar uma API:

  • Autenticação
  • Segurança
  • Escalabilidade
  • Latência
  • Exploração madeireira
  • Conectividade
Leia Também  O que há de novo em DALEX e DALEXtra

Decidimos usar o Google Cloud Run, uma estrutura de computação sem servidor baseada em contêiner no Google Cloud. Basicamente, o GCR é um serviço Kubernetes totalmente gerenciado, que permite implantar serviços da Web escaláveis ​​ou outras funções sem servidor com base no seu contêiner. É assim que nosso Dockerfile se parece.

cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br
# Use the official image as a parent image
FROM python:3.7

# Copy the file from your host to your current location
COPY ./main.py /app/main.py
COPY ./requirements.txt /app/requirements.txt

# Set the working directory
WORKDIR /app

# Run the command inside your image filesystem
RUN pip install -r requirements.txt

# Inform Docker that the container is listening on the specified port at runtime.
EXPOSE 80

# Run the specified command within the container.
CMD ["python", "main.py"]

Você pode desenvolver seu contêiner localmente e enviá-lo para o registro de contêiner do seu projeto GCP. Para fazer isso, você deve marcar sua imagem local usando docker tag de acordo com o seguinte esquema: [HOSTNAME]/[PROJECT-ID]/[IMAGE]. O nome do host é um dos seguintes: gcr.io, us.gcr.io, eu.gcr.io, asia.gcr.io. Depois, você pode empurrar usando gcloud push, seguido pela sua tag de imagem. A partir daí, você pode conectar facilmente o contêiner ao serviço Google Cloud Run:

google cloud run

Ao implantar o serviço, você pode definir parâmetros para dimensionamento, etc. No entanto, isso não está no escopo desta postagem. Além disso, o GCR permite mapeamento de domínio personalizado para funções. É por isso que temos o ponto de extremidade da API puro https://api.statworx.com/covid.

Conclusão

Criar e implantar um serviço da Web está mais fácil do que nunca. Esperamos que você ache nossa nova API útil para seus projetos e análises sobre o COVID-19. Se você tiver alguma dúvida ou comentário, não hesite em entrar em contato conosco ou abrir um problema no Github. Por fim, se você usar nossa API gratuita, adicione um link ao nosso site, https://www.statworx.com ao seu projeto. Agradecemos antecipadamente e mantenha-se saudável!


STATWORX
é uma empresa de consultoria em ciência de dados, estatística, aprendizado de máquina e inteligência artificial localizado em Frankfurt, Zurique e Viena. Inscreva-se na nossa NEWSLETTER e receba leituras e guloseimas do mundo da ciência de dados e da IA. Se você tiver dúvidas ou sugestões, escreva-nos um e-mail endereçado ao blog (at) statworx.com.

Der Beitrag Making Of: Uma API grátis para dados COVID-19 sobre o STATWORX.



Se você chegou até aqui, por que não inscreva-se para atualizações do site? Escolha seu sabor: e-mail, Twitter, RSS ou facebook …



cupom com desconto - o melhor site de cupom de desconto cupomcomdesconto.com.br