Мне стало интересно, насколько быстро распространяется коронавирус в разных странах.
Я написал скрипт, который показывает средний процент новых зараженных по сравнению с предыдущим днем.
Моя цель: выяснить, насколько большую угрозу несёт коронавирус для России.
В России коронавирус уже 78 дней. Поэтому я решил взять статистку за последние 30 дней. Вернее сказать, я беру статистику начиная с 48 дня.
import httpx
import pandas as pd
from io import StringIO
import matplotlib.pyplot as plt
import numpy as np
url = 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv'
df = pd.read_csv(StringIO(httpx.get(url).text))
avg_k = {}
for _, series in df.iterrows():
country = series.array[1]
cases = list(filter(lambda x: x != 0, series.array[4:]))
if len(cases) < 48 + 10 or cases[-1] < 15000:
continue
cases = cases[48:]
avg_k[country] = np.average([cases[i] / cases[i - 1] for i in range(1, len(cases))])
plt.semilogy(range(len(cases)), cases, label=country)
for k, v in sorted(avg_k.items(), key=lambda x: x[1], reverse=True):
print(f"{k}: {(v - 1) * 100:.3f}%")
plt.legend(loc="lower right")
plt.show()
Я получаю такой результат:
US: 19.714%
Russia: 19.251%
United Kingdom: 13.918%
France: 12.857%
Germany: 10.495%
Belgium: 9.668%
Spain: 8.503%
Italy: 5.128%
Iran: 2.421%
China: 0.014%
Из чего делаю вывод, что в России коронавирус будет протекать также как и в европейских странах, и, возможно, будет такая же ситуация, как в США.
Но дело в том, что у каждой страны пик может быть в разное время, и я этого не учитываю.
И я не знаю, насколько верно я делаю выводы. Мне кажется, я где-то заблуждаюсь.