moving files around
This commit is contained in:
2
.gitignore
vendored
2
.gitignore
vendored
@@ -1,5 +1,5 @@
|
|||||||
src/VAERS/
|
src/VAERS/
|
||||||
src/intensivstationen/
|
src/intensivstationen/zeitreihe-tagesdaten.csv
|
||||||
.ipynb_checkpoints/
|
.ipynb_checkpoints/
|
||||||
.history/
|
.history/
|
||||||
src/config/
|
src/config/
|
||||||
|
|||||||
@@ -43,7 +43,7 @@
|
|||||||
label: 'Belegte Betten',
|
label: 'Belegte Betten',
|
||||||
data: data,
|
data: data,
|
||||||
parsing: {
|
parsing: {
|
||||||
yAxisKey: 'Belegte_Intensivbetten'
|
yAxisKey: 'betten_belegt'
|
||||||
},
|
},
|
||||||
backgroundColor: 'rgba(255, 0, 0, 1)',
|
backgroundColor: 'rgba(255, 0, 0, 1)',
|
||||||
},
|
},
|
||||||
@@ -51,17 +51,9 @@
|
|||||||
label: 'Freie Betten',
|
label: 'Freie Betten',
|
||||||
data: data,
|
data: data,
|
||||||
parsing: {
|
parsing: {
|
||||||
yAxisKey: 'Freie_Intensivbetten'
|
yAxisKey: 'betten_frei'
|
||||||
},
|
},
|
||||||
backgroundColor: 'rgba(0, 255, 0, 1)',
|
backgroundColor: 'rgba(0, 255, 0, 1)',
|
||||||
},
|
|
||||||
{
|
|
||||||
label: 'Notfallreserve',
|
|
||||||
data: data,
|
|
||||||
parsing: {
|
|
||||||
yAxisKey: '7_Tage_Notfallreserve'
|
|
||||||
},
|
|
||||||
backgroundColor: 'rgba(0, 0, 255, 1)',
|
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
@@ -89,7 +81,7 @@
|
|||||||
}
|
}
|
||||||
},
|
},
|
||||||
parsing: {
|
parsing: {
|
||||||
xAxisKey: 'Datum'
|
xAxisKey: 'date'
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -1,98 +0,0 @@
|
|||||||
{
|
|
||||||
"cells": [
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "9de5907f-18f5-4cb1-903e-26028ff1fa03",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"import numpy as np\n",
|
|
||||||
"import pandas as pd\n",
|
|
||||||
"\n",
|
|
||||||
"pd.set_option('display.max_rows', 100)\n",
|
|
||||||
"pd.set_option('display.max_columns', None)"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "997a4bdb",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"def readTimeseries(bundesland = None):\n",
|
|
||||||
" dataFrame = pd.read_csv(\n",
|
|
||||||
" 'intensivstationen/zeitreihe-bundeslaender.csv',\n",
|
|
||||||
" low_memory = False,\n",
|
|
||||||
" parse_dates = ['Datum'],\n",
|
|
||||||
" date_parser = lambda dateStr: pd.to_datetime(dateStr, utc = True))\n",
|
|
||||||
" if bundesland is not None:\n",
|
|
||||||
" return dataFrame[dataFrame['Bundesland'] == bundesland][['Datum', 'Belegte_Intensivbetten', 'Freie_Intensivbetten', '7_Tage_Notfallreserve']]\n",
|
|
||||||
" else:\n",
|
|
||||||
" return dataFrame.groupby('Datum').agg(**{\n",
|
|
||||||
" 'Belegte_Intensivbetten': pd.NamedAgg(column = 'Belegte_Intensivbetten', aggfunc = 'sum'),\n",
|
|
||||||
" 'Freie_Intensivbetten': pd.NamedAgg(column = 'Freie_Intensivbetten', aggfunc = 'sum'),\n",
|
|
||||||
" '7_Tage_Notfallreserve': pd.NamedAgg(column = '7_Tage_Notfallreserve', aggfunc = 'sum'), \n",
|
|
||||||
" }).reset_index()"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "a97f5b2b",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"def readAndPersistTimeseries(bundesland = None):\n",
|
|
||||||
" dataFrame = readTimeseries(bundesland)\n",
|
|
||||||
" dataFrame.to_csv(_getFilename(bundesland), index =False)\n",
|
|
||||||
" return dataFrame\n",
|
|
||||||
"\n",
|
|
||||||
"def _getFilename(bundesland):\n",
|
|
||||||
" return '../docs/data/intensivstationen/intensivstationen{suffix}.csv'.format(suffix = '-' + bundesland if bundesland is not None else '-de')\n"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "63ca93a4",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"readAndPersistTimeseries(bundesland = 'BADEN_WUERTTEMBERG')"
|
|
||||||
]
|
|
||||||
},
|
|
||||||
{
|
|
||||||
"cell_type": "code",
|
|
||||||
"execution_count": null,
|
|
||||||
"id": "349edd73",
|
|
||||||
"metadata": {},
|
|
||||||
"outputs": [],
|
|
||||||
"source": [
|
|
||||||
"readAndPersistTimeseries()"
|
|
||||||
]
|
|
||||||
}
|
|
||||||
],
|
|
||||||
"metadata": {
|
|
||||||
"kernelspec": {
|
|
||||||
"display_name": "Python 3 (ipykernel)",
|
|
||||||
"language": "python",
|
|
||||||
"name": "python3"
|
|
||||||
},
|
|
||||||
"language_info": {
|
|
||||||
"codemirror_mode": {
|
|
||||||
"name": "ipython",
|
|
||||||
"version": 3
|
|
||||||
},
|
|
||||||
"file_extension": ".py",
|
|
||||||
"mimetype": "text/x-python",
|
|
||||||
"name": "python",
|
|
||||||
"nbconvert_exporter": "python",
|
|
||||||
"pygments_lexer": "ipython3",
|
|
||||||
"version": "3.9.7"
|
|
||||||
}
|
|
||||||
},
|
|
||||||
"nbformat": 4,
|
|
||||||
"nbformat_minor": 5
|
|
||||||
}
|
|
||||||
@@ -1,6 +1,12 @@
|
|||||||
jupyter notebook
|
jupyter notebook
|
||||||
|
|
||||||
https://www.intensivregister.de/#/aktuelle-lage/zeitreihen
|
zwei Spalten darstellen:
|
||||||
|
- linke und rechte Spalte jeweils mit Bundesland-Menu und Landkreise-Submenu des ausgewählten Bundeslandes
|
||||||
|
- Dargestellt werden in einem Chart die freien Betten + belegten Betten des ausgewählten Landkreises
|
||||||
|
(analog zu "Gesamtzahl gemeldeter Intensivbetten (Betreibbare Betten und Notfallreserve)", siehe https://www.intensivregister.de/#/aktuelle-lage/zeitreihen)
|
||||||
|
- Zugrundegelegter Datensatz: zeitreihe-tagesdaten.csv aus https://www.intensivregister.de/#/aktuelle-lage/downloads
|
||||||
|
|
||||||
|
src/intensivstationen/AGS_2022-02-28.json downloaded from https://www.xrepository.de/details/urn:de:bund:destatis:bevoelkerungsstatistik:schluessel:ags
|
||||||
|
|
||||||
get VAERS data:
|
get VAERS data:
|
||||||
- download data (e.g. 2022VAERSData.zip) from https://vaers.hhs.gov/data/datasets.html and save and unzip in VAERS folder
|
- download data (e.g. 2022VAERSData.zip) from https://vaers.hhs.gov/data/datasets.html and save and unzip in VAERS folder
|
||||||
|
|||||||
232
src/intensivstationen/Intensivstationen.ipynb
Normal file
232
src/intensivstationen/Intensivstationen.ipynb
Normal file
@@ -0,0 +1,232 @@
|
|||||||
|
{
|
||||||
|
"cells": [
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "9de5907f-18f5-4cb1-903e-26028ff1fa03",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"import numpy as np\n",
|
||||||
|
"import pandas as pd\n",
|
||||||
|
"\n",
|
||||||
|
"pd.set_option('display.max_rows', 100)\n",
|
||||||
|
"pd.set_option('display.max_columns', None)"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "eee150b8",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"bundeslandById = {\n",
|
||||||
|
" '01': 'Schleswig-Holstein',\n",
|
||||||
|
" '02': 'Freie Hansestadt Hamburg',\n",
|
||||||
|
" '03': 'Niedersachsen',\n",
|
||||||
|
" '04': 'Freie Hansestadt Bremen',\n",
|
||||||
|
" '05': 'Nordrhein-Westfalen',\n",
|
||||||
|
" '06': 'Hessen',\n",
|
||||||
|
" '07': 'Rheinland-Pfalz',\n",
|
||||||
|
" '08': 'Baden-Württemberg',\n",
|
||||||
|
" '09': 'Freistaat Bayern',\n",
|
||||||
|
" '10': 'Saarland',\n",
|
||||||
|
" '11': 'Berlin',\n",
|
||||||
|
" '12': 'Brandenburg',\n",
|
||||||
|
" '13': 'Mecklenburg-Vorpommern',\n",
|
||||||
|
" '14': 'Freistaat Sachsen',\n",
|
||||||
|
" '15': 'Sachsen-Anhalt',\n",
|
||||||
|
" '16': 'Freistaat Thüringen'}\n",
|
||||||
|
"bundeslandById"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "f7868050",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def readKreisByKreisschluessel():\n",
|
||||||
|
" kreisByKreisschluessel = pd.read_csv(\n",
|
||||||
|
" 'kreisByKreisschluessel.csv',\n",
|
||||||
|
" low_memory = False,\n",
|
||||||
|
" index_col = 'Kreisschluessel',\n",
|
||||||
|
" dtype = {'Kreisschluessel': 'string'})\n",
|
||||||
|
" kreisByKreisschluessel['Kreis'] = kreisByKreisschluessel['Kreis'].str.strip()\n",
|
||||||
|
" return kreisByKreisschluessel[kreisByKreisschluessel.index.str.len() == 5]\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "712a919c",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"kreisByKreisschluessel = readKreisByKreisschluessel()\n",
|
||||||
|
"kreisByKreisschluessel"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "c1dea262",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"class TimeseriesReader:\n",
|
||||||
|
" \n",
|
||||||
|
" def readTimeseries(self):\n",
|
||||||
|
" return pd.read_csv(\n",
|
||||||
|
" 'zeitreihe-tagesdaten.csv',\n",
|
||||||
|
" low_memory = False,\n",
|
||||||
|
" usecols = ['date', 'bundesland', 'gemeindeschluessel', 'betten_belegt', 'betten_frei'],\n",
|
||||||
|
" parse_dates = ['date'],\n",
|
||||||
|
" date_parser = lambda dateStr: pd.to_datetime(dateStr, format = \"%Y-%m-%d\"),\n",
|
||||||
|
" dtype = {\n",
|
||||||
|
" 'gemeindeschluessel': 'string',\n",
|
||||||
|
" 'bundesland': 'string'\n",
|
||||||
|
" })\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "d978b069",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"timeSeries = TimeseriesReader().readTimeseries()\n",
|
||||||
|
"timeSeries"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "af96fb11",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"class KreisAndBundeslandColumnAdder:\n",
|
||||||
|
" \n",
|
||||||
|
" def __init__(self, kreisByKreisschluessel, bundeslandById):\n",
|
||||||
|
" self.kreisByKreisschluessel = kreisByKreisschluessel\n",
|
||||||
|
" self.bundeslandById = bundeslandById\n",
|
||||||
|
"\n",
|
||||||
|
" def addKreisAndBundeslandColumn(self, dataFrame):\n",
|
||||||
|
" dataFrame['Kreis'] = dataFrame['gemeindeschluessel'].map(lambda gemeindeschluessel: self.kreisByKreisschluessel.loc[gemeindeschluessel, 'Kreis'])\n",
|
||||||
|
" dataFrame['Bundesland'] = dataFrame['bundesland'].map(lambda bundesland: self.bundeslandById[bundesland])\n",
|
||||||
|
" return dataFrame"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "62a20115",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"timeSeries = KreisAndBundeslandColumnAdder(kreisByKreisschluessel, bundeslandById).addKreisAndBundeslandColumn(timeSeries)\n",
|
||||||
|
"timeSeries"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "997a4bdb",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def readTimeseries(bundesland = None):\n",
|
||||||
|
" dataFrame = TimeseriesReader().readTimeseries()\n",
|
||||||
|
" display(dataFrame)\n",
|
||||||
|
" display(dataFrame.info())\n",
|
||||||
|
" if bundesland is not None:\n",
|
||||||
|
" return dataFrame[dataFrame['Bundesland'] == bundesland][['date', 'betten_belegt', 'betten_frei']]\n",
|
||||||
|
" else:\n",
|
||||||
|
" return dataFrame.groupby('date').agg(**{\n",
|
||||||
|
" 'betten_belegt': pd.NamedAgg(column = 'betten_belegt', aggfunc = 'sum'),\n",
|
||||||
|
" 'betten_frei': pd.NamedAgg(column = 'betten_frei', aggfunc = 'sum') \n",
|
||||||
|
" }).reset_index()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "a97f5b2b",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"def readAndPersistTimeseries(bundesland = None):\n",
|
||||||
|
" dataFrame = readTimeseries(bundesland)\n",
|
||||||
|
" dataFrame.to_csv(_getFilename(bundesland), index = False)\n",
|
||||||
|
" return dataFrame\n",
|
||||||
|
"\n",
|
||||||
|
"def _getFilename(bundesland):\n",
|
||||||
|
" return '../../docs/data/intensivstationen/intensivstationen{suffix}.csv'.format(suffix = '-' + bundesland if bundesland is not None else '-de')\n"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "63ca93a4",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"# readAndPersistTimeseries(bundesland = 'BADEN_WUERTTEMBERG')"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "349edd73",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"dataFrame = readAndPersistTimeseries()\n",
|
||||||
|
"dataFrame"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "21776a31",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": [
|
||||||
|
"dataFrame.info()"
|
||||||
|
]
|
||||||
|
},
|
||||||
|
{
|
||||||
|
"cell_type": "code",
|
||||||
|
"execution_count": null,
|
||||||
|
"id": "cc5974cd",
|
||||||
|
"metadata": {},
|
||||||
|
"outputs": [],
|
||||||
|
"source": []
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"metadata": {
|
||||||
|
"kernelspec": {
|
||||||
|
"display_name": "Python 3 (ipykernel)",
|
||||||
|
"language": "python",
|
||||||
|
"name": "python3"
|
||||||
|
},
|
||||||
|
"language_info": {
|
||||||
|
"codemirror_mode": {
|
||||||
|
"name": "ipython",
|
||||||
|
"version": 3
|
||||||
|
},
|
||||||
|
"file_extension": ".py",
|
||||||
|
"mimetype": "text/x-python",
|
||||||
|
"name": "python",
|
||||||
|
"nbconvert_exporter": "python",
|
||||||
|
"pygments_lexer": "ipython3",
|
||||||
|
"version": "3.9.7"
|
||||||
|
}
|
||||||
|
},
|
||||||
|
"nbformat": 4,
|
||||||
|
"nbformat_minor": 5
|
||||||
|
}
|
||||||
13917
src/intensivstationen/kreisByKreisschluessel.csv
Normal file
13917
src/intensivstationen/kreisByKreisschluessel.csv
Normal file
File diff suppressed because it is too large
Load Diff
Reference in New Issue
Block a user