Source code for cowidev.testing.batch.argentina
import pandas as pd
from cowidev.testing import CountryTestBase
[docs]class Argentina(CountryTestBase):
location: str = "Argentina"
units: str = "tests performed"
source_label: str = "Government of Argentina"
source_url: str = "https://sisa.msal.gov.ar/datos/descargas/covid-19/files/Covid19Determinaciones.zip"
source_url_ref: str = "https://datos.gob.ar/dataset/salud-covid-19-determinaciones-registradas-republica-argentina"
rename_columns: dict = {"fecha": "Date", "total": "Daily change in cumulative total", "positivos": "positive"}
[docs] def read(self) -> pd.DataFrame:
df = pd.read_csv(
"https://sisa.msal.gov.ar/datos/descargas/covid-19/files/Covid19Determinaciones.zip",
usecols=["fecha", "total", "positivos"],
)
return df
[docs] def pipe_metrics(self, df: pd.DataFrame) -> pd.DataFrame:
# Occasional errors where some lab inserts data before 2020
df = df[df.Date >= "2020"]
# Groupby
df = df.groupby("Date", as_index=False).sum()
# PR
df["Positive rate"] = (
df.positive.rolling(7).sum().div(df["Daily change in cumulative total"].rolling(7).sum()).round(3)
)
# Clean
df = df[df["Daily change in cumulative total"] > 0].drop(columns=["positive"])
return df
[docs] def pipeline(self, df: pd.DataFrame) -> pd.DataFrame:
return df.pipe(self.pipe_rename_columns).pipe(self.pipe_metrics).pipe(self.pipe_metadata)