fix data url and adapt to new data format, including type conversion, location name changes etc
This commit is contained in:
@@ -17,6 +17,7 @@ corr = {"Chile": 10000,
|
|||||||
"Peru": 10000,
|
"Peru": 10000,
|
||||||
"Bolivia": 3000,
|
"Bolivia": 3000,
|
||||||
"Yemen": 220,
|
"Yemen": 220,
|
||||||
|
"Turkey": 100000,
|
||||||
}
|
}
|
||||||
|
|
||||||
def plot(data, countries, pop):
|
def plot(data, countries, pop):
|
||||||
|
|||||||
47
coronavis.py
47
coronavis.py
@@ -32,7 +32,7 @@ def get_data():
|
|||||||
tries = 10
|
tries = 10
|
||||||
delay = 10
|
delay = 10
|
||||||
|
|
||||||
dataurl = "https://covid.ourworldindata.org/data/ecdc/full_data.csv"
|
dataurl = "https://covid.ourworldindata.org/data/owid-covid-data.csv"
|
||||||
date = datetime.date.today()
|
date = datetime.date.today()
|
||||||
|
|
||||||
datafile = f"{date}-full-data.csv"
|
datafile = f"{date}-full-data.csv"
|
||||||
@@ -62,13 +62,56 @@ def get_data():
|
|||||||
date,location,new_cases,new_deaths,total_cases,total_deaths = row
|
date,location,new_cases,new_deaths,total_cases,total_deaths = row
|
||||||
elif len(row) == 10:
|
elif len(row) == 10:
|
||||||
date,location,new_cases,new_deaths,total_cases,total_deaths,weekly_cases,weekly_deaths,biweekly_cases,biweekly_deaths = row
|
date,location,new_cases,new_deaths,total_cases,total_deaths,weekly_cases,weekly_deaths,biweekly_cases,biweekly_deaths = row
|
||||||
|
elif len(row) == 50:
|
||||||
|
iso_code,continent,location,date,total_cases,new_cases,new_cases_smoothed,total_deaths,new_deaths,new_deaths_smoothed,total_cases_per_million,new_cases_per_million,new_cases_smoothed_per_million,total_deaths_per_million,new_deaths_per_million,new_deaths_smoothed_per_million,reproduction_rate,icu_patients,icu_patients_per_million,hosp_patients,hosp_patients_per_million,weekly_icu_admissions,weekly_icu_admissions_per_million,weekly_hosp_admissions,weekly_hosp_admissions_per_million,new_tests,total_tests,total_tests_per_thousand,new_tests_per_thousand,new_tests_smoothed,new_tests_smoothed_per_thousand,positive_rate,tests_per_case,tests_units,stringency_index,population,population_density,median_age,aged_65_older,aged_70_older,gdp_per_capita,extreme_poverty,cardiovasc_death_rate,diabetes_prevalence,female_smokers,male_smokers,handwashing_facilities,hospital_beds_per_thousand,life_expectancy,human_development_index = row
|
||||||
else:
|
else:
|
||||||
print(f"WARNING! Table format changed, new header:\n{row})")
|
print(f"WARNING! Table format changed, new header:\n{row})")
|
||||||
exit(1)
|
exit(1)
|
||||||
|
# break loop if header
|
||||||
if location=="location":
|
if location=="location":
|
||||||
# table header
|
# table header
|
||||||
continue
|
continue
|
||||||
|
# cast to num type
|
||||||
|
if isinstance(total_cases, str):
|
||||||
|
if total_cases in ('', ' ', '0.0'):
|
||||||
|
total_cases = 0
|
||||||
|
try:
|
||||||
|
total_cases = int(total_cases)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
total_cases = float(total_cases)
|
||||||
|
except:
|
||||||
|
print("tc failed")
|
||||||
|
if isinstance(new_cases, str):
|
||||||
|
if new_cases in ('', ' ', '0.0'):
|
||||||
|
new_cases = 0
|
||||||
|
try:
|
||||||
|
new_cases = int(new_cases)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
new_cases = float(new_cases)
|
||||||
|
except:
|
||||||
|
print("nc failed")
|
||||||
|
if isinstance(new_deaths, str):
|
||||||
|
if new_deaths in ('', ' ', '0.0'):
|
||||||
|
new_deaths = 0
|
||||||
|
try:
|
||||||
|
new_deaths = int(new_deaths)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
new_deaths = float(new_deaths)
|
||||||
|
except:
|
||||||
|
print("nd failed")
|
||||||
|
if isinstance(total_deaths, str):
|
||||||
|
if total_deaths in ('', ' ', '0.0'):
|
||||||
|
total_deaths = 0
|
||||||
|
try:
|
||||||
|
total_deaths = int(total_deaths)
|
||||||
|
except:
|
||||||
|
try:
|
||||||
|
total_deaths = float(total_deaths)
|
||||||
|
except:
|
||||||
|
print("td failed")
|
||||||
if location not in data:
|
if location not in data:
|
||||||
data[location] = []
|
data[location] = []
|
||||||
year, month, day = date.split("-")
|
year, month, day = date.split("-")
|
||||||
|
|||||||
@@ -19,7 +19,10 @@ def plot(data, countries, pop):
|
|||||||
window_size = 7
|
window_size = 7
|
||||||
tchar = moving_average(np.array(new_cases),window_size)/moving_average(np.array(total_cases),window_size)
|
tchar = moving_average(np.array(new_cases),window_size)/moving_average(np.array(total_cases),window_size)
|
||||||
thalf = np.log(2)/tchar
|
thalf = np.log(2)/tchar
|
||||||
day_of_100_cases = np.argwhere(np.array(total_cases) > 99)[0][0]
|
try:
|
||||||
|
day_of_100_cases = np.argwhere(np.array(total_cases) > 99)[0][0]
|
||||||
|
except:
|
||||||
|
return
|
||||||
new_time_axis = time[int(window_size/2):-int(window_size/2)]
|
new_time_axis = time[int(window_size/2):-int(window_size/2)]
|
||||||
pp.plot(new_time_axis[50:], thalf[50:], label=f"{loc}", marker=".")
|
pp.plot(new_time_axis[50:], thalf[50:], label=f"{loc}", marker=".")
|
||||||
|
|
||||||
|
|||||||
@@ -25,6 +25,7 @@ Das wird aber ganz massiv durch die Testrate, Meldekette, politische Einflussnah
|
|||||||
die einzelnen Länder <b>sehr unterschiedlich</b> sein!
|
die einzelnen Länder <b>sehr unterschiedlich</b> sein!
|
||||||
<br><br>
|
<br><br>
|
||||||
Die Daten stammen von <a href=https://ourworldindata.org/coronavirus-source-data>hier</a> und werden dort aus den WHO- und ECDC-Reports generiert.
|
Die Daten stammen von <a href=https://ourworldindata.org/coronavirus-source-data>hier</a> und werden dort aus den WHO- und ECDC-Reports generiert.
|
||||||
|
Von den extrem reichhaltigen Daten dort verarbeite ich nur die Zahl der Neufälle.
|
||||||
<br><br>
|
<br><br>
|
||||||
Aktuelle Daten aus Deutschland mit vielen Hintergründen finden sich im <a href="https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Situationsberichte/Gesamt.html">Lagebericht des RKI</a>.
|
Aktuelle Daten aus Deutschland mit vielen Hintergründen finden sich im <a href="https://www.rki.de/DE/Content/InfAZ/N/Neuartiges_Coronavirus/Situationsberichte/Gesamt.html">Lagebericht des RKI</a>.
|
||||||
|
|
||||||
@@ -61,7 +62,7 @@ Aktuelle Daten aus Deutschland mit vielen Hintergründen finden sich im <a href=
|
|||||||
<details open><summary>Germany</summary><img src=ac_all_Germany.png /></details>
|
<details open><summary>Germany</summary><img src=ac_all_Germany.png /></details>
|
||||||
<details open><summary>Austria</summary><img src=ac_all_Austria.png /></details>
|
<details open><summary>Austria</summary><img src=ac_all_Austria.png /></details>
|
||||||
<details open><summary>Belgium</summary><img src=ac_all_Belgium.png /></details>
|
<details open><summary>Belgium</summary><img src=ac_all_Belgium.png /></details>
|
||||||
<details open><summary>Czech Republic</summary><img src=ac_all_Czech%20Republic.png /></details>
|
<details open><summary>Czech Republic</summary><img src=ac_all_Czechia.png /></details>
|
||||||
<details open><summary>Denmark</summary><img src=ac_all_Denmark.png /></details>
|
<details open><summary>Denmark</summary><img src=ac_all_Denmark.png /></details>
|
||||||
<details open><summary>France</summary><img src=ac_all_France.png /></details>
|
<details open><summary>France</summary><img src=ac_all_France.png /></details>
|
||||||
<details open><summary>Italy</summary><img src=ac_all_Italy.png /></details>
|
<details open><summary>Italy</summary><img src=ac_all_Italy.png /></details>
|
||||||
@@ -154,7 +155,7 @@ Aktuelle Daten aus Deutschland mit vielen Hintergründen finden sich im <a href=
|
|||||||
<details open><summary>Cuba</summary><img src=ac_all_Cuba.png /></details>
|
<details open><summary>Cuba</summary><img src=ac_all_Cuba.png /></details>
|
||||||
<details open><summary>Curacao</summary><img src=ac_all_Curacao.png /></details>
|
<details open><summary>Curacao</summary><img src=ac_all_Curacao.png /></details>
|
||||||
<details open><summary>Cyprus</summary><img src=ac_all_Cyprus.png /></details>
|
<details open><summary>Cyprus</summary><img src=ac_all_Cyprus.png /></details>
|
||||||
<details open><summary>Czech Republic</summary><img src=ac_all_Czech%20Republic.png /></details>
|
<details open><summary>Czech Republic</summary><img src=ac_all_Czechia.png /></details>
|
||||||
<details open><summary>Democratic Republic of Congo</summary><img src=ac_all_Democratic%20Republic%20of%20Congo.png /></details>
|
<details open><summary>Democratic Republic of Congo</summary><img src=ac_all_Democratic%20Republic%20of%20Congo.png /></details>
|
||||||
<details open><summary>Denmark</summary><img src=ac_all_Denmark.png /></details>
|
<details open><summary>Denmark</summary><img src=ac_all_Denmark.png /></details>
|
||||||
<details open><summary>Djibouti</summary><img src=ac_all_Djibouti.png /></details>
|
<details open><summary>Djibouti</summary><img src=ac_all_Djibouti.png /></details>
|
||||||
@@ -219,7 +220,7 @@ Aktuelle Daten aus Deutschland mit vielen Hintergründen finden sich im <a href=
|
|||||||
<details open><summary>Liechtenstein</summary><img src=ac_all_Liechtenstein.png /></details>
|
<details open><summary>Liechtenstein</summary><img src=ac_all_Liechtenstein.png /></details>
|
||||||
<details open><summary>Lithuania</summary><img src=ac_all_Lithuania.png /></details>
|
<details open><summary>Lithuania</summary><img src=ac_all_Lithuania.png /></details>
|
||||||
<details open><summary>Luxembourg</summary><img src=ac_all_Luxembourg.png /></details>
|
<details open><summary>Luxembourg</summary><img src=ac_all_Luxembourg.png /></details>
|
||||||
<details open><summary>Macedonia</summary><img src=ac_all_Macedonia.png /></details>
|
<details open><summary>North Macedonia</summary><img src=ac_all_North%20Macedonia.png /></details>
|
||||||
<details open><summary>Madagascar</summary><img src=ac_all_Madagascar.png /></details>
|
<details open><summary>Madagascar</summary><img src=ac_all_Madagascar.png /></details>
|
||||||
<details open><summary>Malawi</summary><img src=ac_all_Malawi.png /></details>
|
<details open><summary>Malawi</summary><img src=ac_all_Malawi.png /></details>
|
||||||
<details open><summary>Malaysia</summary><img src=ac_all_Malaysia.png /></details>
|
<details open><summary>Malaysia</summary><img src=ac_all_Malaysia.png /></details>
|
||||||
@@ -284,7 +285,7 @@ Aktuelle Daten aus Deutschland mit vielen Hintergründen finden sich im <a href=
|
|||||||
<details open><summary>Sri Lanka</summary><img src=ac_all_Sri%20Lanka.png /></details>
|
<details open><summary>Sri Lanka</summary><img src=ac_all_Sri%20Lanka.png /></details>
|
||||||
<details open><summary>Sudan</summary><img src=ac_all_Sudan.png /></details>
|
<details open><summary>Sudan</summary><img src=ac_all_Sudan.png /></details>
|
||||||
<details open><summary>Suriname</summary><img src=ac_all_Suriname.png /></details>
|
<details open><summary>Suriname</summary><img src=ac_all_Suriname.png /></details>
|
||||||
<details open><summary>Swaziland</summary><img src=ac_all_Swaziland.png /></details>
|
<details open><summary>Swaziland</summary><img src=ac_all_Eswatini.png /></details>
|
||||||
<details open><summary>Sweden</summary><img src=ac_all_Sweden.png /></details>
|
<details open><summary>Sweden</summary><img src=ac_all_Sweden.png /></details>
|
||||||
<details open><summary>Switzerland</summary><img src=ac_all_Switzerland.png /></details>
|
<details open><summary>Switzerland</summary><img src=ac_all_Switzerland.png /></details>
|
||||||
<details open><summary>Syria</summary><img src=ac_all_Syria.png /></details>
|
<details open><summary>Syria</summary><img src=ac_all_Syria.png /></details>
|
||||||
|
|||||||
@@ -47,6 +47,7 @@ pop = {'Afghanistan': {'key': 'Afghanistan', 'pop': 38928341, 'year': 2020},
|
|||||||
'Cuba': {'key': 'Cuba', 'pop': 11326616, 'year': 2020}, 'Curacao': {'key': 'Curaçao', 'pop': 164100, 'year': 2020},
|
'Cuba': {'key': 'Cuba', 'pop': 11326616, 'year': 2020}, 'Curacao': {'key': 'Curaçao', 'pop': 164100, 'year': 2020},
|
||||||
'Cyprus': {'key': 'Cyprus', 'pop': 875899, 'year': 2020},
|
'Cyprus': {'key': 'Cyprus', 'pop': 875899, 'year': 2020},
|
||||||
'Czech Republic': {'key': 'Czechia', 'pop': 10708982, 'year': 2020},
|
'Czech Republic': {'key': 'Czechia', 'pop': 10708982, 'year': 2020},
|
||||||
|
'Czechia': {'key': 'Czechia', 'pop': 10708982, 'year': 2020},
|
||||||
'Democratic Republic of Congo': {'key': 'Democratic_Republic_of_the_Congo', 'pop': 89561404, 'year': 2020},
|
'Democratic Republic of Congo': {'key': 'Democratic_Republic_of_the_Congo', 'pop': 89561404, 'year': 2020},
|
||||||
'Denmark': {'key': 'Denmark', 'pop': 5792203, 'year': 2020},
|
'Denmark': {'key': 'Denmark', 'pop': 5792203, 'year': 2020},
|
||||||
'Djibouti': {'key': 'Djibouti', 'pop': 988002, 'year': 2020},
|
'Djibouti': {'key': 'Djibouti', 'pop': 988002, 'year': 2020},
|
||||||
@@ -58,7 +59,7 @@ pop = {'Afghanistan': {'key': 'Afghanistan', 'pop': 38928341, 'year': 2020},
|
|||||||
'Equatorial Guinea': {'key': 'Equatorial_Guinea', 'pop': 1402985, 'year': 2020},
|
'Equatorial Guinea': {'key': 'Equatorial_Guinea', 'pop': 1402985, 'year': 2020},
|
||||||
'Eritrea': {'key': 'Eritrea', 'pop': 3546427, 'year': 2020},
|
'Eritrea': {'key': 'Eritrea', 'pop': 3546427, 'year': 2020},
|
||||||
'Estonia': {'key': 'Estonia', 'pop': 1326539, 'year': 2020},
|
'Estonia': {'key': 'Estonia', 'pop': 1326539, 'year': 2020},
|
||||||
'Swaziland': {'key': 'Eswatini', 'pop': 1160164, 'year': 2020},
|
'Eswatini': {'key': 'Eswatini', 'pop': 1160164, 'year': 2020},
|
||||||
'Ethiopia': {'key': 'Ethiopia', 'pop': 114963583, 'year': 2020},
|
'Ethiopia': {'key': 'Ethiopia', 'pop': 114963583, 'year': 2020},
|
||||||
'Falkland Islands': {'key': 'Falkland_Islands_(Malvinas)', 'pop': 3483, 'year': 2020},
|
'Falkland Islands': {'key': 'Falkland_Islands_(Malvinas)', 'pop': 3483, 'year': 2020},
|
||||||
'Faeroe Islands': {'key': 'Faroe_Islands', 'pop': 48865, 'year': 2020},
|
'Faeroe Islands': {'key': 'Faroe_Islands', 'pop': 48865, 'year': 2020},
|
||||||
@@ -130,7 +131,7 @@ pop = {'Afghanistan': {'key': 'Afghanistan', 'pop': 38928341, 'year': 2020},
|
|||||||
'Nicaragua': {'key': 'Nicaragua', 'pop': 6624554, 'year': 2020},
|
'Nicaragua': {'key': 'Nicaragua', 'pop': 6624554, 'year': 2020},
|
||||||
'Niger': {'key': 'Niger', 'pop': 24206636, 'year': 2020},
|
'Niger': {'key': 'Niger', 'pop': 24206636, 'year': 2020},
|
||||||
'Nigeria': {'key': 'Nigeria', 'pop': 206139587, 'year': 2020},
|
'Nigeria': {'key': 'Nigeria', 'pop': 206139587, 'year': 2020},
|
||||||
'Macedonia': {'key': 'North_Macedonia', 'pop': 2083380, 'year': 2020},
|
'North Macedonia': {'key': 'North_Macedonia', 'pop': 2083380, 'year': 2020},
|
||||||
'Northern Mariana Islands': {'key': 'Northern_Mariana_Islands', 'pop': 57557, 'year': 2020},
|
'Northern Mariana Islands': {'key': 'Northern_Mariana_Islands', 'pop': 57557, 'year': 2020},
|
||||||
'Norway': {'key': 'Norway', 'pop': 5421242, 'year': 2020}, 'Oman': {'key': 'Oman', 'pop': 5106622, 'year': 2020},
|
'Norway': {'key': 'Norway', 'pop': 5421242, 'year': 2020}, 'Oman': {'key': 'Oman', 'pop': 5106622, 'year': 2020},
|
||||||
'Pakistan': {'key': 'Pakistan', 'pop': 220892331, 'year': 2020},
|
'Pakistan': {'key': 'Pakistan', 'pop': 220892331, 'year': 2020},
|
||||||
|
|||||||
Reference in New Issue
Block a user