Source code for cowidev.hosp.sources.austria

import os
import tempfile

import pandas as pd

from cowidev.utils.clean import clean_date_series
from cowidev.utils.io import extract_zip


METADATA = {
    "source_url": "https://covid19-dashboard.ages.at/data/data.zip",
    "source_url_ref": "https://covid19-dashboard.ages.at/",
    "source_name": "Austrian Agency for Health and Food Safety",
    "entity": "Austria",
}


[docs]def read() -> pd.DataFrame: with tempfile.TemporaryDirectory() as tf: extract_zip(METADATA["source_url"], tf, verify=False, ciphers_low=True) df = pd.read_csv( os.path.join(tf, "CovidFallzahlen.csv"), sep=";", usecols=["Meldedat", "Bundesland", "FZHosp", "FZICU"], ) return df
[docs]def main() -> pd.DataFrame: df = read() df = df[df.Bundesland == "Alle"].drop(columns="Bundesland").rename(columns={"Meldedat": "date"}) df["date"] = clean_date_series(df.date, "%d.%m.%Y") # FZHosp only includes patients in a "normal ward", i.e. all patients – ICU patients df["FZHosp"] = df.FZHosp + df.FZICU df = df.melt("date", var_name="indicator").dropna(subset=["value"]) df["indicator"] = df.indicator.replace( { "FZHosp": "Daily hospital occupancy", "FZICU": "Daily ICU occupancy", }, ) df["entity"] = METADATA["entity"] return df, METADATA
if __name__ == "__main__": main()