├── .gitignore ├── data ├── week2 │ ├── epta.jpg │ ├── train.csv │ └── validate.csv ├── quarantine.csv ├── regions_ru.csv ├── countries.csv └── time_series │ ├── deaths_ru.csv │ └── confirmed_ru.csv ├── requirements.txt ├── README.md ├── util ├── model_decay.py ├── features.py ├── data.py └── model_lgb.py └── notebooks ├── parsers ├── MobilityApple.ipynb ├── MobilityGoogle.ipynb ├── MobilityYandex.ipynb ├── QuarantineDates.ipynb └── TopologyVec.ipynb ├── visualizations └── BarChartRace.ipynb └── models └── SimpleWeek2.ipynb /.gitignore: -------------------------------------------------------------------------------- 1 | .idea 2 | .ipynb_checkpoints 3 | __pycache__ 4 | -------------------------------------------------------------------------------- /data/week2/epta.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/tyz910/sberbank-covid19/HEAD/data/week2/epta.jpg -------------------------------------------------------------------------------- /requirements.txt: -------------------------------------------------------------------------------- 1 | jupyter==1.0.0 2 | beautifulsoup4==4.8.2 3 | requests==2.23.0 4 | pandas==1.0.3 5 | pmdarima==1.5.3 6 | tqdm==4.45.0 7 | seaborn==0.10.0 8 | lightgbm==2.3.1 9 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | COVID-19 Data Challenge. 2 | ======================== 3 | 4 | - Модели: 5 | - [LightGBM](/notebooks/models/LightGBM.ipynb). 6 | - [ARIMA](/notebooks/models/ARIMA.ipynb). 7 | - [SimpleWeek2](/notebooks/models/SimpleWeek2.ipynb). 8 | - Визуализации: 9 | - Число заражений по регионам России: [chart](https://public.flourish.studio/visualisation/2027941/), [notebook](/notebooks/visualizations/BarChartRace.ipynb). 10 | - Индекс самоизоляции: [notebook](/notebooks/visualizations/Isolation.ipynb). 11 | - Дополнительные данные: 12 | - Mobility Reports: 13 | - [Google](/data/mobility-google.csv). 14 | - [Apple](/data/mobility-apple.csv). 15 | - [Yandex](/data/mobility-yandex.csv) (регионы России). 16 | - [Даты карантина](/data/quarantine.csv). 17 | - [Эмбеддинги](/data/regions_ru_vec.csv) топологии транспортной сети. 18 | -------------------------------------------------------------------------------- /util/model_decay.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | 4 | 5 | def predict_decay(data, num_days=90, decay=0.99): 6 | date_to = data['date'].max() 7 | date_from = date_to - pd.to_timedelta(3, unit='d') 8 | 9 | data_to = data[data['date'] == date_to][['country', 'confirmed', 'deaths']] 10 | data_from = data[data['date'] == date_from][['country', 'confirmed', 'deaths']] 11 | 12 | data_avg = pd.merge(data_to, data_from, on='country') 13 | data_avg['confirmed'] = (data_avg['confirmed_x'] - data_avg['confirmed_y']) / 3 14 | data_avg['deaths'] = ((data_avg['deaths_x'] - data_avg['deaths_y']) / 3) 15 | 16 | data_avg = data_avg.set_index('country')[['confirmed', 'deaths']] 17 | data_to = data_to.set_index('country') 18 | 19 | preds = pd.DataFrame() 20 | for i in range(1, num_days + 1): 21 | date_data = (data_to + i * data_avg - decay * data_avg * np.sum([x for x in range(i)]) / num_days).copy() 22 | date_data['date'] = date_to + pd.to_timedelta(i, unit='d') 23 | 24 | preds = preds.append(date_data.reset_index()[['date', 'country', 'confirmed', 'deaths']], ignore_index=True) 25 | 26 | return preds.rename(columns={ 27 | 'confirmed': 'prediction_confirmed', 28 | 'deaths': 'prediction_deaths', 29 | }) 30 | -------------------------------------------------------------------------------- /notebooks/parsers/MobilityApple.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "%cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "import pandas as pd\n", 27 | "\n", 28 | "URL = 'https://covid19-static.cdn-apple.com/covid19-mobility-data/2006HotfixDev20/v2/en-us/applemobilitytrends-2020-04-27.csv'\n", 29 | "countries = pd.read_csv('data/countries.csv', na_filter=False)\n", 30 | "\n", 31 | "df = pd.read_csv(URL)\n", 32 | "df = df[df['geo_type'] == 'country/region']\n", 33 | "df = df[df['region'].isin(countries['name'])]\n", 34 | "df = df.drop(columns=['geo_type'])\n", 35 | "df = df.groupby(['region', 'transportation_type']).first().stack().unstack(1).reset_index()\n", 36 | "df = df.rename(columns={\n", 37 | " 'level_1': 'date',\n", 38 | " 'driving': 'apl-driving',\n", 39 | " 'transit': 'apl-transit',\n", 40 | " 'walking': 'apl-walking',\n", 41 | "})\n", 42 | "df = pd.merge(df, countries, left_on='region', right_on='name')[['date', 'country', 'apl-driving', 'apl-transit', 'apl-walking']]\n", 43 | "df.to_csv('data/mobility-apple.csv', index=False)" 44 | ] 45 | } 46 | ], 47 | "metadata": { 48 | "kernelspec": { 49 | "display_name": "Python 3", 50 | "language": "python", 51 | "name": "python3" 52 | }, 53 | "language_info": { 54 | "codemirror_mode": { 55 | "name": "ipython", 56 | "version": 3 57 | }, 58 | "file_extension": ".py", 59 | "mimetype": "text/x-python", 60 | "name": "python", 61 | "nbconvert_exporter": "python", 62 | "pygments_lexer": "ipython3", 63 | "version": "3.6.10" 64 | } 65 | }, 66 | "nbformat": 4, 67 | "nbformat_minor": 4 68 | } 69 | -------------------------------------------------------------------------------- /data/week2/train.csv: -------------------------------------------------------------------------------- 1 | date,country,confirmed,deaths 2 | 2020-04-19,RU-AD,91,2 3 | 2020-04-19,RU-AL,2,0 4 | 2020-04-19,RU-ALT,72,0 5 | 2020-04-19,RU-AMU,16,0 6 | 2020-04-19,RU-ARK,107,0 7 | 2020-04-19,RU-AST,123,3 8 | 2020-04-19,RU-BA,252,10 9 | 2020-04-19,RU-BEL,90,2 10 | 2020-04-19,RU-BRY,279,1 11 | 2020-04-19,RU-BU,115,2 12 | 2020-04-19,RU-CE,219,5 13 | 2020-04-19,RU-CHE,68,0 14 | 2020-04-19,RU-CHU,2,0 15 | 2020-04-19,RU-CU,193,1 16 | 2020-04-19,RU-DA,292,9 17 | 2020-04-19,RU-IN,269,5 18 | 2020-04-19,RU-IRK,55,2 19 | 2020-04-19,RU-IVA,183,1 20 | 2020-04-19,RU-KAM,34,0 21 | 2020-04-19,RU-KB,136,0 22 | 2020-04-19,RU-KC,67,0 23 | 2020-04-19,RU-KDA,383,5 24 | 2020-04-19,RU-KEM,35,1 25 | 2020-04-19,RU-KGD,126,1 26 | 2020-04-19,RU-KGN,13,0 27 | 2020-04-19,RU-KHA,185,4 28 | 2020-04-19,RU-KHM,175,0 29 | 2020-04-19,RU-KIR,150,2 30 | 2020-04-19,RU-KK,68,0 31 | 2020-04-19,RU-KL,74,3 32 | 2020-04-19,RU-KLU,188,2 33 | 2020-04-19,RU-KO,481,3 34 | 2020-04-19,RU-KOS,66,2 35 | 2020-04-19,RU-KR,19,0 36 | 2020-04-19,RU-KRS,196,2 37 | 2020-04-19,RU-KYA,300,0 38 | 2020-04-19,RU-LEN,417,0 39 | 2020-04-19,RU-LIP,149,1 40 | 2020-04-19,RU-MAG,63,0 41 | 2020-04-19,RU-ME,262,1 42 | 2020-04-19,RU-MO,258,1 43 | 2020-04-19,RU-MOS,4663,49 44 | 2020-04-19,RU-MOW,24324,176 45 | 2020-04-19,RU-MUR,354,3 46 | 2020-04-19,RU-NEN,1,0 47 | 2020-04-19,RU-NGR,98,1 48 | 2020-04-19,RU-NIZ,646,4 49 | 2020-04-19,RU-NVS,108,3 50 | 2020-04-19,RU-OMS,33,0 51 | 2020-04-19,RU-ORE,184,2 52 | 2020-04-19,RU-ORL,132,1 53 | 2020-04-19,RU-PER,198,3 54 | 2020-04-19,RU-PNZ,140,5 55 | 2020-04-19,RU-PRI,80,2 56 | 2020-04-19,RU-PSK,44,6 57 | 2020-04-19,RU-ROS,232,0 58 | 2020-04-19,RU-RYA,267,0 59 | 2020-04-19,RU-SA,88,0 60 | 2020-04-19,RU-SAK,19,0 61 | 2020-04-19,RU-SAM,79,0 62 | 2020-04-19,RU-SAR,114,0 63 | 2020-04-19,RU-SE,120,2 64 | 2020-04-19,RU-SMO,173,2 65 | 2020-04-19,RU-SPE,1760,8 66 | 2020-04-19,RU-STA,232,3 67 | 2020-04-19,RU-SVE,141,1 68 | 2020-04-19,RU-TA,191,0 69 | 2020-04-19,RU-TAM,187,0 70 | 2020-04-19,RU-TOM,29,0 71 | 2020-04-19,RU-TUL,287,0 72 | 2020-04-19,RU-TVE,270,0 73 | 2020-04-19,RU-TY,13,0 74 | 2020-04-19,RU-TYU,227,2 75 | 2020-04-19,RU-UD,66,3 76 | 2020-04-19,RU-ULY,168,2 77 | 2020-04-19,RU-VGG,93,1 78 | 2020-04-19,RU-VLA,225,5 79 | 2020-04-19,RU-VLG,93,0 80 | 2020-04-19,RU-VOR,156,5 81 | 2020-04-19,RU-YAN,116,1 82 | 2020-04-19,RU-YAR,117,0 83 | 2020-04-19,RU-YEV,20,0 84 | 2020-04-19,RU-ZAB,34,0 85 | 2020-04-19,UA-40,13,0 86 | 2020-04-19,UA-43,45,0 87 | -------------------------------------------------------------------------------- /data/quarantine.csv: -------------------------------------------------------------------------------- 1 | country,date,level 2 | ALB,2020-03-13,National 3 | ARE,2020-03-26,National 4 | ARG,2020-03-19,National 5 | ARM,2020-03-24,National 6 | AUS,2020-03-23,National 7 | AUT,2020-03-16,National 8 | AZE,2020-03-31,National 9 | BEL,2020-03-18,National 10 | BGD,2020-03-26,National 11 | BLR,2020-04-07,City 12 | BOL,2020-03-22,National 13 | BRA,2020-03-17,State 14 | BRB,2020-03-28,National 15 | CHE,2020-03-17,National 16 | CHL,2020-03-19,National 17 | COL,2020-03-25,National 18 | CRI,2020-03-23,National 19 | CUB,2020-03-23,National 20 | DEU,2020-03-23,National 21 | DNK,2020-03-11,National 22 | DOM,2020-03-19,National 23 | DZA,2020-03-23,City 24 | ECU,2020-03-16,National 25 | ERI,2020-04-02,National 26 | ESP,2020-03-14,National 27 | FIN,2020-03-27,Region 28 | FJI,2020-03-20,City 29 | FRA,2020-03-17,National 30 | GBR,2020-03-23,National 31 | GEO,2020-03-31,National 32 | GHA,2020-03-30,Metropolitan Area 33 | GRC,2020-03-23,National 34 | HND,2020-03-20,National 35 | HRV,2020-03-18,National 36 | HUN,2020-03-28,National 37 | IND,2020-03-25,National 38 | IRL,2020-03-12,National 39 | IRQ,2020-03-22,National 40 | ISR,2020-04-02,City 41 | ITA,2020-03-09,National 42 | JAM,2020-04-15,Parish 43 | JOR,2020-03-18,National 44 | JPN,2020-04-07,Prefecture 45 | KWT,2020-03-14,National 46 | LBN,2020-03-15,National 47 | LBR,2020-03-23,County 48 | LBY,2020-03-22,National 49 | LTU,2020-03-16,National 50 | LUX,2020-03-18,National 51 | MAR,2020-03-19,National 52 | MDG,2020-03-23,City 53 | MNE,2020-03-24,Municipality 54 | MYS,2020-03-18,National 55 | NGA,2020-03-30,City 56 | NLD,2020-03-16,National 57 | NOR,2020-03-12,National 58 | NPL,2020-03-24,National 59 | NZL,2020-03-26,National 60 | OMN,2020-04-10,Governorate 61 | PAK,2020-03-24,National 62 | PAN,2020-03-25,National 63 | PER,2020-03-16,National 64 | PHL,2020-03-27,Province 65 | PNG,2020-03-24,National 66 | POL,2020-03-13,National 67 | PRT,2020-03-19,National 68 | PRY,2020-03-20,National 69 | QAT,2020-03-11,Industrial park 70 | ROU,2020-03-25,National 71 | RUS,2020-03-30,Metropolitan area 72 | RWA,2020-03-21,National 73 | SAU,2020-03-29,City 74 | SGP,2020-04-07,National 75 | SLV,2020-03-12,National 76 | SMR,2020-03-14,National 77 | SRB,2020-03-15,National 78 | SVK,2020-03-16,National 79 | THA,2020-03-25,National 80 | TTO,2020-03-17,National 81 | TUN,2020-03-22,National 82 | TUR,2020-04-23,National 83 | UKR,2020-03-17,National 84 | VEN,2020-03-17,National 85 | ZAF,2020-03-26,National 86 | ZWE,2020-03-30,National 87 | -------------------------------------------------------------------------------- /util/features.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | 3 | COUNTRY_FEATURES = ["population", "area", "density", "lat", "long", "is_region"] 4 | DAYS_SINCE_CONFIRMED = [1, 10, 50, 100, 500, 1000, 5000, 10000] 5 | 6 | 7 | def add_features(data, countries): 8 | add_prev_values(data) 9 | add_days_since_confirmed(data, DAYS_SINCE_CONFIRMED) 10 | add_country_features(data, countries, COUNTRY_FEATURES) 11 | data.fillna(0, inplace=True) 12 | 13 | 14 | def add_prev_values(data, num_days=40): 15 | for i in range(1, num_days + 1): 16 | for col in ['confirmed', 'deaths']: 17 | data[f"{col}_prev{i}"] = data.groupby("country")[col].shift(i) 18 | 19 | data.fillna(0, inplace=True) 20 | 21 | 22 | def add_days_since_confirmed(data, days): 23 | for i in days: 24 | data[f'days_since_{i}_confirmed'] = 0 25 | data_confirmed = data[data['confirmed'] >= i] 26 | for c in data_confirmed['country'].unique(): 27 | idx = data_confirmed[data_confirmed['country'] == c].index 28 | data.loc[idx, f'days_since_{i}_confirmed'] = np.arange(len(idx)) 29 | 30 | 31 | def add_country_features(data, countries, features): 32 | data[features] = data.join(countries, how='left', on='country')[features] 33 | 34 | 35 | def get_Xy(data, gap): 36 | days_since_features = [f'days_since_{i}_confirmed' for i in DAYS_SINCE_CONFIRMED] 37 | 38 | X = data[COUNTRY_FEATURES + days_since_features].copy() 39 | X['perc_confirmed'] = data[f'confirmed_prev{gap}'] / data['population'] 40 | 41 | for c in ['confirmed', 'deaths']: 42 | X[f'{c}_prev'] = data[f'{c}_prev{gap}'] 43 | 44 | for i in range(3): 45 | X[f'diff_{i + 1}_{c}'] = data[f'{c}_prev{gap + i}'] - data[f'{c}_prev{gap + i + 1}'] 46 | X[f'change_{i + 1}_{c}'] = (data[f'{c}_prev{gap + i}'] + 1) / (data[f'{c}_prev{gap + i + 1}'] + 1) 47 | 48 | for i in [1, 2]: 49 | X[f'diff_change_{i}_{c}'] = (X[f'diff_{i}_{c}'] + 1) / (X[f'diff_{i + 1}_{c}'] + 1) 50 | X[f'diff_change_12_{c}'] = (X[f'diff_change_1_{c}'] + X[f'diff_change_2_{c}']) / 2 51 | 52 | X[f'diff_123_{c}'] = (data[f'{c}_prev{gap}'] - data[f'{c}_prev{gap + 3}']) / 3 53 | X[f'change_1_3_{c}'] = (data[f'{c}_prev{gap}'] + 1) / (data[f'{c}_prev{gap + 3}'] + 1) 54 | X[f'change_1_7_{c}'] = (data[f'{c}_prev{gap}'] + 1) / (data[f'{c}_prev{gap + 7}'] + 1) 55 | 56 | for f in days_since_features: 57 | X.loc[X[f] < gap, f] = 0 58 | 59 | y = data[['confirmed', 'deaths']].copy() 60 | y -= data[[f'confirmed_prev{gap}', f'deaths_prev{gap}']].values 61 | y.loc[y['confirmed'] < 0, 'confirmed'] = 0 62 | y.loc[y['deaths'] < 0, 'deaths'] = 0 63 | 64 | return X, np.log10(y + 1.0) 65 | -------------------------------------------------------------------------------- /notebooks/parsers/MobilityGoogle.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "%cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "import urllib\n", 27 | "import pandas as pd\n", 28 | "from tqdm import tqdm\n", 29 | "\n", 30 | "\n", 31 | "def read_csv_from_url(url):\n", 32 | " try:\n", 33 | " return pd.read_csv(url)\n", 34 | " except urllib.error.HTTPError as e:\n", 35 | " if e.status == 404:\n", 36 | " return None\n", 37 | " raise e\n", 38 | "\n", 39 | "\n", 40 | "countries = pd.read_csv('data/countries.csv', na_filter=False)" 41 | ] 42 | }, 43 | { 44 | "cell_type": "code", 45 | "execution_count": 3, 46 | "metadata": {}, 47 | "outputs": [ 48 | { 49 | "name": "stderr", 50 | "output_type": "stream", 51 | "text": [ 52 | "168it [05:02, 1.80s/it]\n" 53 | ] 54 | } 55 | ], 56 | "source": [ 57 | "PLACES = ['parks', 'residential', 'retail-and-recreation', 'transit-stations', 'workplaces', 'grocery-and-pharmacy']\n", 58 | "\n", 59 | "\n", 60 | "def google_mobility_by_country(code):\n", 61 | " data = []\n", 62 | "\n", 63 | " for place in PLACES:\n", 64 | " df = read_csv_from_url(f'https://pastelsky.github.io/covid-19-mobility-tracker/output/{code}/mobility-{place}.csv')\n", 65 | " if df is not None:\n", 66 | " df = df.rename(columns={'value': place})\n", 67 | " data.append(df)\n", 68 | " \n", 69 | " if data:\n", 70 | " return pd.concat(data).groupby('date').first()\n", 71 | " else:\n", 72 | " return None\n", 73 | "\n", 74 | "\n", 75 | "data = []\n", 76 | "\n", 77 | "for i, row in tqdm(countries[countries['iso_alpha2'] != ''][['country', 'iso_alpha2']].iterrows()):\n", 78 | " mobility = google_mobility_by_country(row['iso_alpha2'])\n", 79 | "\n", 80 | " if mobility is not None:\n", 81 | " mobility['country'] = row['country']\n", 82 | " data.append(mobility)\n", 83 | "\n", 84 | "pd.concat(data).groupby(['country', 'date']).first().reset_index().to_csv('data/mobility-google.csv', index=False)" 85 | ] 86 | } 87 | ], 88 | "metadata": { 89 | "kernelspec": { 90 | "display_name": "Python 3", 91 | "language": "python", 92 | "name": "python3" 93 | }, 94 | "language_info": { 95 | "codemirror_mode": { 96 | "name": "ipython", 97 | "version": 3 98 | }, 99 | "file_extension": ".py", 100 | "mimetype": "text/x-python", 101 | "name": "python", 102 | "nbconvert_exporter": "python", 103 | "pygments_lexer": "ipython3", 104 | "version": "3.6.10" 105 | } 106 | }, 107 | "nbformat": 4, 108 | "nbformat_minor": 4 109 | } 110 | -------------------------------------------------------------------------------- /util/data.py: -------------------------------------------------------------------------------- 1 | import requests 2 | import pandas as pd 3 | 4 | 5 | def update_data(): 6 | time_series_data = { 7 | 'confirmed.csv': 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_global.csv', 8 | 'deaths.csv': 'https://raw.githubusercontent.com/CSSEGISandData/COVID-19/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_global.csv', 9 | 'confirmed_ru.csv': 'https://raw.githubusercontent.com/grwlf/COVID-19_plus_Russia/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_confirmed_RU.csv', 10 | 'deaths_ru.csv': 'https://raw.githubusercontent.com/grwlf/COVID-19_plus_Russia/master/csse_covid_19_data/csse_covid_19_time_series/time_series_covid19_deaths_RU.csv', 11 | } 12 | 13 | for file_name, url in time_series_data.items(): 14 | r = requests.get(url, allow_redirects=True) 15 | if r.status_code == 200: 16 | print(file_name, 'loaded') 17 | with open('data/time_series/' + file_name, 'wb') as f: 18 | f.write(r.content) 19 | 20 | 21 | def read_time_series(countries, filepath): 22 | df = pd.read_csv(filepath, na_filter=False) 23 | 24 | df = df.rename(columns={ 25 | 'Province_State': 'Country/Region', 26 | 'Country_Region': 'Province/State', 27 | }).drop(columns=[ 28 | 'Lat', 'Long', 'Province/State', 'UID', 'iso2', 'iso3', 29 | 'code3', 'FIPS', 'Admin2', 'Long_', 'Combined_Key' 30 | ], errors='ignore').groupby('Country/Region').sum() 31 | 32 | df = pd.merge(countries[['name']], df, how='inner', left_on=['name'], right_on=['Country/Region']) 33 | df.index = countries[countries['name'].isin(df['name'])].index 34 | df = df.drop(columns=['name']) 35 | 36 | return df 37 | 38 | 39 | def combine_time_series(confirmed, deaths): 40 | df = pd.DataFrame( 41 | [ 42 | [date, country, num_confirmed, deaths[date][country]] 43 | for date in confirmed.columns 44 | for num_confirmed, country in zip(confirmed[date], confirmed.index) 45 | ], 46 | columns=['date', 'country', 'confirmed', 'deaths'] 47 | ) 48 | 49 | df['date'] = pd.to_datetime(df['date'], infer_datetime_format=True) 50 | 51 | return df 52 | 53 | 54 | def read_data(update=False): 55 | if update: 56 | update_data() 57 | 58 | countries = pd.read_csv('data/countries.csv', index_col='country') 59 | 60 | confirmed_global = read_time_series(countries, 'data/time_series/confirmed.csv') 61 | deaths_global = read_time_series(countries, 'data/time_series/deaths.csv') 62 | data_global = combine_time_series(confirmed_global, deaths_global) 63 | 64 | confirmed_ru = read_time_series(countries, 'data/time_series/confirmed_ru.csv') 65 | deaths_ru = read_time_series(countries, 'data/time_series/deaths_ru.csv') 66 | data_ru = combine_time_series(confirmed_ru, deaths_ru) 67 | 68 | data = data_global.append(data_ru) 69 | data = data[data['confirmed'] > 0] 70 | data = data.sort_values(by=['country', 'date']).reset_index(drop=True) 71 | 72 | data = data[data['date'] <= data[data['country'] == 'RU-MOW']['date'].max()] 73 | 74 | return countries, data 75 | -------------------------------------------------------------------------------- /util/model_lgb.py: -------------------------------------------------------------------------------- 1 | import numpy as np 2 | import pandas as pd 3 | import lightgbm as lgb 4 | 5 | from util.features import add_features, get_Xy 6 | 7 | 8 | def predict_lgb(data, countries, model_params, predict_days, with_deaths=True): 9 | data_train, data_test = data_split_train_test(data, countries, predict_days) 10 | 11 | return train_and_predict_lgb(data_train, data_test, model_params, with_deaths) 12 | 13 | 14 | def predict_lgb_iterate(data, countries, model_params, predict_days, iterate_days, with_deaths=True): 15 | preds = pd.DataFrame() 16 | 17 | while True: 18 | preds = preds.append(predict_lgb(data, countries, model_params, iterate_days, with_deaths), ignore_index=True) 19 | 20 | if len(preds['date'].unique()) >= predict_days: 21 | break 22 | 23 | data = data.append(preds.rename(columns={ 24 | 'prediction_confirmed': 'confirmed', 25 | 'prediction_deaths': 'deaths', 26 | }), ignore_index=True) 27 | 28 | max_date = preds['date'].unique()[predict_days - 1] 29 | 30 | return preds[preds['date'] <= max_date].reset_index(drop=True) 31 | 32 | 33 | def train_and_predict_lgb(data_train, data_test, model_params, with_deaths=True): 34 | preds = pd.DataFrame(columns=['date', 'country', 'prediction_confirmed', 'prediction_deaths']) 35 | 36 | for gap, date in enumerate(data_test['date'].unique(), 1): 37 | X_train, y_train = get_Xy(data_train, gap) 38 | X_test, _ = get_Xy(data_test[data_test['date'] == date], gap) 39 | 40 | model_confirmed, model_deaths = train_lgb_models(X_train, y_train, model_params, with_deaths) 41 | preds_confirmed = model_confirmed.predict(X_test) 42 | 43 | if with_deaths: 44 | preds_deaths = model_deaths.predict(X_test) 45 | else: 46 | preds_deaths = np.zeros(len(preds_confirmed)) 47 | 48 | preds = preds.append(pd.DataFrame({ 49 | 'date': date, 50 | 'country': data_test[data_test['date'] == date]['country'].values, 51 | 'prediction_confirmed': X_test['confirmed_prev'] + 10.0 ** preds_confirmed - 1.0, 52 | 'prediction_deaths': X_test['deaths_prev'] + 10.0 ** preds_deaths - 1.0, 53 | })).reset_index(drop=True) 54 | 55 | return preds 56 | 57 | 58 | def train_lgb_models(X, y, model_params, with_deaths=True): 59 | lgb_params = model_params.copy() 60 | lgb_params['objective'] = 'regression' 61 | lgb_params['metric'] = 'rmse' 62 | del lgb_params['regions_weight'] 63 | del lgb_params['num_boost_round'] 64 | 65 | weight = (X['is_region'] + 1.0).copy() 66 | weight.loc[weight > 1.0] = model_params['regions_weight'] 67 | 68 | train_confirmed = lgb.Dataset(X, label=y['confirmed'], weight=weight) 69 | model_confirmed = lgb.train(lgb_params, train_set=train_confirmed, num_boost_round=model_params['num_boost_round']) 70 | 71 | if with_deaths: 72 | train_deaths = lgb.Dataset(X, label=y['deaths']) 73 | model_deaths = lgb.train(lgb_params, train_set=train_deaths, num_boost_round=model_params['num_boost_round']) 74 | else: 75 | model_deaths = None 76 | 77 | return model_confirmed, model_deaths 78 | 79 | 80 | def data_split_train_test(data, countries, predict_days): 81 | max_date = data['date'].max() 82 | 83 | data_test = pd.DataFrame([ 84 | [max_date + pd.to_timedelta(d + 1, unit='d'), c, 0, 0] 85 | for c in data['country'].unique() 86 | for d in range(predict_days) 87 | ], columns=['date', 'country', 'confirmed', 'deaths']) 88 | 89 | data_full = data.append(data_test).sort_values(by=['country', 'date']).reset_index(drop=True).copy() 90 | add_features(data_full, countries) 91 | 92 | data_train = data_full[(data_full['date'] <= max_date) & (data_full['confirmed'] > 0)].reset_index(drop=True) 93 | data_test = data_full[data_full['date'] > max_date].reset_index(drop=True) 94 | 95 | return data_train, data_test 96 | -------------------------------------------------------------------------------- /notebooks/parsers/MobilityYandex.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "import re\n", 27 | "import json\n", 28 | "import requests\n", 29 | "import pandas as pd\n", 30 | "from datetime import datetime\n", 31 | "\n", 32 | "countries = pd.read_csv('data/countries.csv')\n", 33 | "city_map = {row['region_center']: row['country'] for i, row in countries[countries['is_region'] == 1].iterrows()}\n", 34 | "\n", 35 | "body = requests.get('https://yandex.ru/web-maps/covid19/isolation').content\n", 36 | "data = json.loads(re.compile(r'class=\"config-view\">(.+?)<').search(body.decode('utf-8'))[1])" 37 | ] 38 | }, 39 | { 40 | "cell_type": "code", 41 | "execution_count": 3, 42 | "metadata": {}, 43 | "outputs": [ 44 | { 45 | "data": { 46 | "text/html": [ 47 | "
\n", 48 | "\n", 61 | "\n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | "
datecountryisolation
02020-02-23RU-SPE2.5
12020-02-24RU-SPE2.6
22020-02-25RU-SPE0.4
32020-02-26RU-SPE0.4
42020-02-27RU-SPE0.4
\n", 103 | "
" 104 | ], 105 | "text/plain": [ 106 | " date country isolation\n", 107 | "0 2020-02-23 RU-SPE 2.5\n", 108 | "1 2020-02-24 RU-SPE 2.6\n", 109 | "2 2020-02-25 RU-SPE 0.4\n", 110 | "3 2020-02-26 RU-SPE 0.4\n", 111 | "4 2020-02-27 RU-SPE 0.4" 112 | ] 113 | }, 114 | "execution_count": 3, 115 | "metadata": {}, 116 | "output_type": "execute_result" 117 | } 118 | ], 119 | "source": [ 120 | "def ts_to_date(ts):\n", 121 | " return datetime.utcfromtimestamp(ts + 3 * 60 * 60).strftime('%Y-%m-%d')\n", 122 | "\n", 123 | "\n", 124 | "result = []\n", 125 | "\n", 126 | "for c in data['covidData']['cities']:\n", 127 | " if c['name'] in city_map:\n", 128 | " country = city_map[c['name']]\n", 129 | " result.append(\n", 130 | " pd.DataFrame(\n", 131 | " [[ts_to_date(r['ts']), country, r['value']] for r in c['histogramDays']], \n", 132 | " columns=['date', 'country', 'isolation'],\n", 133 | " )\n", 134 | " )\n", 135 | "\n", 136 | "result = pd.concat(result).reset_index(drop=True)\n", 137 | "result.to_csv('data/mobility-yandex.csv', index=False)\n", 138 | "result.head()" 139 | ] 140 | } 141 | ], 142 | "metadata": { 143 | "kernelspec": { 144 | "display_name": "Python 3", 145 | "language": "python", 146 | "name": "python3" 147 | }, 148 | "language_info": { 149 | "codemirror_mode": { 150 | "name": "ipython", 151 | "version": 3 152 | }, 153 | "file_extension": ".py", 154 | "mimetype": "text/x-python", 155 | "name": "python", 156 | "nbconvert_exporter": "python", 157 | "pygments_lexer": "ipython3", 158 | "version": "3.6.10" 159 | } 160 | }, 161 | "nbformat": 4, 162 | "nbformat_minor": 4 163 | } 164 | -------------------------------------------------------------------------------- /notebooks/parsers/QuarantineDates.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "%cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "import re\n", 27 | "import requests\n", 28 | "import pandas as pd\n", 29 | "from bs4 import BeautifulSoup\n", 30 | "\n", 31 | "countries = pd.read_csv('data/countries.csv')" 32 | ] 33 | }, 34 | { 35 | "cell_type": "code", 36 | "execution_count": 3, 37 | "metadata": {}, 38 | "outputs": [], 39 | "source": [ 40 | "URL = \"https://en.wikipedia.org/wiki/National_responses_to_the_2019%E2%80%9320_coronavirus_pandemic\"\n", 41 | "page = requests.get(URL)\n", 42 | "soup = BeautifulSoup(page.text)\n", 43 | "tables = soup.findAll(\"table\", {\"class\": \"wikitable\"})" 44 | ] 45 | }, 46 | { 47 | "cell_type": "code", 48 | "execution_count": 4, 49 | "metadata": {}, 50 | "outputs": [ 51 | { 52 | "data": { 53 | "text/html": [ 54 | "
\n", 55 | "\n", 68 | "\n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | "
datelevel
country
ALB2020-03-13National
ARE2020-03-26National
ARG2020-03-19National
ARM2020-03-24National
AUS2020-03-23National
.........
TUR2020-04-23National
UKR2020-03-17National
VEN2020-03-17National
ZAF2020-03-26National
ZWE2020-03-30National
\n", 139 | "

85 rows × 2 columns

\n", 140 | "
" 141 | ], 142 | "text/plain": [ 143 | " date level\n", 144 | "country \n", 145 | "ALB 2020-03-13 National\n", 146 | "ARE 2020-03-26 National\n", 147 | "ARG 2020-03-19 National\n", 148 | "ARM 2020-03-24 National\n", 149 | "AUS 2020-03-23 National\n", 150 | "... ... ...\n", 151 | "TUR 2020-04-23 National\n", 152 | "UKR 2020-03-17 National\n", 153 | "VEN 2020-03-17 National\n", 154 | "ZAF 2020-03-26 National\n", 155 | "ZWE 2020-03-30 National\n", 156 | "\n", 157 | "[85 rows x 2 columns]" 158 | ] 159 | }, 160 | "execution_count": 4, 161 | "metadata": {}, 162 | "output_type": "execute_result" 163 | } 164 | ], 165 | "source": [ 166 | "data = []\n", 167 | "\n", 168 | "def get_text(col):\n", 169 | " return re.sub(r\"\\[[^]]+\\]\", \"\", col.text.strip())\n", 170 | "\n", 171 | "for row in tables[0].findAll(\"tr\"):\n", 172 | " columns = row.findAll(\"td\")\n", 173 | " if len(columns) < 4:\n", 174 | " continue\n", 175 | "\n", 176 | " if len(columns) == 5:\n", 177 | " country = get_text(columns[0])\n", 178 | " place = get_text(columns[1])\n", 179 | " columns = columns[2:]\n", 180 | " elif \"colspan\" in columns[0].attrs:\n", 181 | " country = get_text(columns[0])\n", 182 | " place = \"\"\n", 183 | " columns = columns[1:]\n", 184 | " else:\n", 185 | " place = get_text(columns[0])\n", 186 | " columns = columns[1:]\n", 187 | " \n", 188 | " start = get_text(columns[0])\n", 189 | " end = get_text(columns[1])\n", 190 | " level = get_text(columns[2])\n", 191 | " \n", 192 | " data.append([country, place, start, end, level])\n", 193 | " \n", 194 | "df = pd.DataFrame(data, columns=[\"Country\", \"Place\", \"Start date\", \"End date\", \"Level\"])\n", 195 | "df = pd.merge(df, countries, left_on='Country', right_on='name', how='inner').groupby('country')[['Start date', 'Level']].first()\n", 196 | "df = df.rename(columns={\n", 197 | " 'Start date': 'date',\n", 198 | " 'Level': 'level',\n", 199 | "})\n", 200 | "\n", 201 | "df.to_csv(\"data/quarantine.csv\")\n", 202 | "df" 203 | ] 204 | } 205 | ], 206 | "metadata": { 207 | "kernelspec": { 208 | "display_name": "Python 3", 209 | "language": "python", 210 | "name": "python3" 211 | }, 212 | "language_info": { 213 | "codemirror_mode": { 214 | "name": "ipython", 215 | "version": 3 216 | }, 217 | "file_extension": ".py", 218 | "mimetype": "text/x-python", 219 | "name": "python", 220 | "nbconvert_exporter": "python", 221 | "pygments_lexer": "ipython3", 222 | "version": "3.6.10" 223 | } 224 | }, 225 | "nbformat": 4, 226 | "nbformat_minor": 4 227 | } 228 | -------------------------------------------------------------------------------- /notebooks/visualizations/BarChartRace.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "%cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [ 25 | { 26 | "name": "stdout", 27 | "output_type": "stream", 28 | "text": [ 29 | "confirmed.csv loaded\n", 30 | "deaths.csv loaded\n", 31 | "confirmed_ru.csv loaded\n", 32 | "deaths_ru.csv loaded\n" 33 | ] 34 | } 35 | ], 36 | "source": [ 37 | "import pandas as pd\n", 38 | "from util.data import read_data\n", 39 | "\n", 40 | "countries, data = read_data(update=True)\n", 41 | "regions_ru = pd.read_csv('data/regions_ru.csv', index_col='country')" 42 | ] 43 | }, 44 | { 45 | "cell_type": "code", 46 | "execution_count": 3, 47 | "metadata": {}, 48 | "outputs": [ 49 | { 50 | "data": { 51 | "text/html": [ 52 | "
\n", 53 | "\n", 66 | "\n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | " \n", 100 | " \n", 101 | " \n", 102 | " \n", 103 | " \n", 104 | " \n", 105 | " \n", 106 | " \n", 107 | " \n", 108 | " \n", 109 | " \n", 110 | " \n", 111 | " \n", 112 | " \n", 113 | " \n", 114 | " \n", 115 | " \n", 116 | " \n", 117 | " \n", 118 | " \n", 119 | " \n", 120 | " \n", 121 | " \n", 122 | " \n", 123 | " \n", 124 | " \n", 125 | " \n", 126 | " \n", 127 | " \n", 128 | " \n", 129 | " \n", 130 | " \n", 131 | " \n", 132 | " \n", 133 | " \n", 134 | " \n", 135 | " \n", 136 | " \n", 137 | " \n", 138 | " \n", 139 | " \n", 140 | " \n", 141 | " \n", 142 | " \n", 143 | " \n", 144 | " \n", 145 | " \n", 146 | " \n", 147 | " \n", 148 | " \n", 149 | " \n", 150 | " \n", 151 | " \n", 152 | " \n", 153 | " \n", 154 | " \n", 155 | " \n", 156 | " \n", 157 | " \n", 158 | " \n", 159 | " \n", 160 | " \n", 161 | " \n", 162 | " \n", 163 | " \n", 164 | " \n", 165 | " \n", 166 | " \n", 167 | " \n", 168 | " \n", 169 | " \n", 170 | " \n", 171 | " \n", 172 | " \n", 173 | " \n", 174 | " \n", 175 | " \n", 176 | " \n", 177 | " \n", 178 | " \n", 179 | " \n", 180 | " \n", 181 | " \n", 182 | " \n", 183 | " \n", 184 | " \n", 185 | " \n", 186 | " \n", 187 | " \n", 188 | " \n", 189 | " \n", 190 | " \n", 191 | " \n", 192 | " \n", 193 | " \n", 194 | " \n", 195 | " \n", 196 | " \n", 197 | " \n", 198 | " \n", 199 | " \n", 200 | " \n", 201 | " \n", 202 | " \n", 203 | " \n", 204 | " \n", 205 | " \n", 206 | " \n", 207 | " \n", 208 | " \n", 209 | " \n", 210 | " \n", 211 | " \n", 212 | " \n", 213 | " \n", 214 | " \n", 215 | " \n", 216 | " \n", 217 | " \n", 218 | " \n", 219 | " \n", 220 | " \n", 221 | " \n", 222 | " \n", 223 | " \n", 224 | " \n", 225 | " \n", 226 | " \n", 227 | " \n", 228 | " \n", 229 | " \n", 230 | " \n", 231 | " \n", 232 | " \n", 233 | " \n", 234 | " \n", 235 | " \n", 236 | " \n", 237 | " \n", 238 | " \n", 239 | "
namedistrictflag25.0326.0327.0328.0329.0330.0331.03...15.0416.0417.0418.0419.0420.0421.0422.0423.0424.04
country
RU-ALРеспублика АлтайСибирский ФОhttps://upload.wikimedia.org/wikipedia/commons...0.00.00.00.00.00.00.0...0.00.01.02.02.04.08.08.09.09.0
RU-ALTАлтайский крайСибирский ФОhttps://upload.wikimedia.org/wikipedia/commons...0.00.00.00.00.01.02.0...39.048.053.063.072.084.0127.0136.0144.0152.0
RU-AMUАмурская областьДальневосточный ФОhttps://upload.wikimedia.org/wikipedia/commons...0.00.00.00.01.01.01.0...6.09.011.014.016.020.020.023.025.028.0
RU-ARKАрхангельская областьСеверо-Западный ФОhttps://upload.wikimedia.org/wikipedia/commons...3.03.03.03.03.07.07.0...32.033.034.039.0107.0114.0118.0120.0123.0137.0
RU-ASTАстраханская областьЮжный ФОhttps://upload.wikimedia.org/wikipedia/commons...0.00.00.00.00.00.02.0...47.060.064.099.0123.0136.0137.0148.0165.0186.0
\n", 240 | "

5 rows × 34 columns

\n", 241 | "
" 242 | ], 243 | "text/plain": [ 244 | " name district \\\n", 245 | "country \n", 246 | "RU-AL Республика Алтай Сибирский ФО \n", 247 | "RU-ALT Алтайский край Сибирский ФО \n", 248 | "RU-AMU Амурская область Дальневосточный ФО \n", 249 | "RU-ARK Архангельская область Северо-Западный ФО \n", 250 | "RU-AST Астраханская область Южный ФО \n", 251 | "\n", 252 | " flag 25.03 26.03 \\\n", 253 | "country \n", 254 | "RU-AL https://upload.wikimedia.org/wikipedia/commons... 0.0 0.0 \n", 255 | "RU-ALT https://upload.wikimedia.org/wikipedia/commons... 0.0 0.0 \n", 256 | "RU-AMU https://upload.wikimedia.org/wikipedia/commons... 0.0 0.0 \n", 257 | "RU-ARK https://upload.wikimedia.org/wikipedia/commons... 3.0 3.0 \n", 258 | "RU-AST https://upload.wikimedia.org/wikipedia/commons... 0.0 0.0 \n", 259 | "\n", 260 | " 27.03 28.03 29.03 30.03 31.03 ... 15.04 16.04 17.04 18.04 \\\n", 261 | "country ... \n", 262 | "RU-AL 0.0 0.0 0.0 0.0 0.0 ... 0.0 0.0 1.0 2.0 \n", 263 | "RU-ALT 0.0 0.0 0.0 1.0 2.0 ... 39.0 48.0 53.0 63.0 \n", 264 | "RU-AMU 0.0 0.0 1.0 1.0 1.0 ... 6.0 9.0 11.0 14.0 \n", 265 | "RU-ARK 3.0 3.0 3.0 7.0 7.0 ... 32.0 33.0 34.0 39.0 \n", 266 | "RU-AST 0.0 0.0 0.0 0.0 2.0 ... 47.0 60.0 64.0 99.0 \n", 267 | "\n", 268 | " 19.04 20.04 21.04 22.04 23.04 24.04 \n", 269 | "country \n", 270 | "RU-AL 2.0 4.0 8.0 8.0 9.0 9.0 \n", 271 | "RU-ALT 72.0 84.0 127.0 136.0 144.0 152.0 \n", 272 | "RU-AMU 16.0 20.0 20.0 23.0 25.0 28.0 \n", 273 | "RU-ARK 107.0 114.0 118.0 120.0 123.0 137.0 \n", 274 | "RU-AST 123.0 136.0 137.0 148.0 165.0 186.0 \n", 275 | "\n", 276 | "[5 rows x 34 columns]" 277 | ] 278 | }, 279 | "execution_count": 3, 280 | "metadata": {}, 281 | "output_type": "execute_result" 282 | } 283 | ], 284 | "source": [ 285 | "FROM_DATE = '2020-03-25'\n", 286 | "EXCLUDE_COUNTRIES = ['RU-MOW', 'RU-MOS', 'RU-SPE']\n", 287 | "\n", 288 | "chart_data = data[data['country'].isin(regions_ru.index)][['date', 'country', 'confirmed']].copy()\n", 289 | "chart_data = chart_data[chart_data['date'] >= FROM_DATE].sort_values(by='date')\n", 290 | "chart_data['date'] = chart_data['date'].dt.strftime('%d.%m')\n", 291 | "\n", 292 | "chart_data = chart_data.pivot(index='country', columns='date')['confirmed'][chart_data['date'].unique()]\n", 293 | "chart_data = regions_ru.join(chart_data).drop(EXCLUDE_COUNTRIES).fillna(0)\n", 294 | "\n", 295 | "# export to https://flourish.studio/\n", 296 | "chart_data.to_csv('chart_data.csv', index=False)\n", 297 | "\n", 298 | "chart_data.head()" 299 | ] 300 | }, 301 | { 302 | "cell_type": "markdown", 303 | "metadata": {}, 304 | "source": [ 305 | "https://public.flourish.studio/visualisation/2027941/\n", 306 | "\n", 307 | "[![Число заражений COVID19 за пределами Москвы, Московской области и Санкт-Петербурга](https://public.flourish.studio/published_thumbnails/visualisation/2027941/9c7f2ac5e78ae267.jpg)](https://public.flourish.studio/visualisation/2027941/)" 308 | ] 309 | } 310 | ], 311 | "metadata": { 312 | "kernelspec": { 313 | "display_name": "Python 3", 314 | "language": "python", 315 | "name": "python3" 316 | }, 317 | "language_info": { 318 | "codemirror_mode": { 319 | "name": "ipython", 320 | "version": 3 321 | }, 322 | "file_extension": ".py", 323 | "mimetype": "text/x-python", 324 | "name": "python", 325 | "nbconvert_exporter": "python", 326 | "pygments_lexer": "ipython3", 327 | "version": "3.6.10" 328 | } 329 | }, 330 | "nbformat": 4, 331 | "nbformat_minor": 4 332 | } 333 | -------------------------------------------------------------------------------- /data/regions_ru.csv: -------------------------------------------------------------------------------- 1 | country,name,district,flag 2 | RU-AL,Республика Алтай,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/f/ff/Flag_of_Altai_Republic.svg/1920px-Flag_of_Altai_Republic.svg.png 3 | RU-ALT,Алтайский край,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/4/4b/Flag_of_Altai_Krai.svg/1920px-Flag_of_Altai_Krai.svg.png 4 | RU-AMU,Амурская область,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/7/7a/Flag_of_Amur_Oblast.svg/1920px-Flag_of_Amur_Oblast.svg.png 5 | RU-ARK,Архангельская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/16/Flag_of_Arkhangelsk_Oblast.svg/1920px-Flag_of_Arkhangelsk_Oblast.svg.png 6 | RU-AST,Астраханская область,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/8/87/Flag_of_Astrakhan_Oblast.svg/1280px-Flag_of_Astrakhan_Oblast.svg.png 7 | RU-BEL,Белгородская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Flag_of_Belgorod_Oblast.svg/1920px-Flag_of_Belgorod_Oblast.svg.png 8 | RU-BRY,Брянская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/2b/Flag_of_Bryansk_Oblast.svg/1920px-Flag_of_Bryansk_Oblast.svg.png 9 | RU-CE,Чеченская Республика,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Flag_of_the_Chechen_Republic.svg/1920px-Flag_of_the_Chechen_Republic.svg.png 10 | RU-CHE,Челябинская область,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/c/ce/Flag_of_Chelyabinsk_Oblast.svg/1920px-Flag_of_Chelyabinsk_Oblast.svg.png 11 | RU-CHU,Чукотский АО,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a0/Flag_of_Chukotka.svg/1920px-Flag_of_Chukotka.svg.png 12 | RU-KHA,Хабаровский край,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/4/4f/Flag_of_Khabarovsk_Krai.svg/1920px-Flag_of_Khabarovsk_Krai.svg.png 13 | RU-KHM,Ханты-Мансийский АО-Югра,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Flag_of_Yugra.svg/1920px-Flag_of_Yugra.svg.png 14 | RU-IN,Республика Ингушетия,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/0/00/Flag_of_Ingushetia.svg/1920px-Flag_of_Ingushetia.svg.png 15 | RU-IRK,Иркутская область,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Flag_of_Irkutsk_Oblast.svg/1920px-Flag_of_Irkutsk_Oblast.svg.png 16 | RU-IVA,Ивановская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/5/5b/Flag_of_Ivanovo_Oblast.svg/1920px-Flag_of_Ivanovo_Oblast.svg.png 17 | RU-YEV,Еврейская авт. область,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/0/0e/Flag_of_the_Jewish_Autonomous_Oblast.svg/1920px-Flag_of_the_Jewish_Autonomous_Oblast.svg.png 18 | RU-KGD,Калининградская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/e/e4/Flag_of_Kaliningrad_Oblast.svg/1920px-Flag_of_Kaliningrad_Oblast.svg.png 19 | RU-KLU,Калужская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/e/ed/Flag_of_Kaluga_Oblast.svg/1920px-Flag_of_Kaluga_Oblast.svg.png 20 | RU-KAM,Камчатский край,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Flag_of_Kamchatka_Krai.svg/1920px-Flag_of_Kamchatka_Krai.svg.png 21 | RU-KEM,Кемеровская область,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/f/fd/Flag_of_Kemerovo_oblast.svg/1920px-Flag_of_Kemerovo_oblast.svg.png 22 | RU-KIR,Кировская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/4/41/Flag_of_Kirov_Oblast.svg/1920px-Flag_of_Kirov_Oblast.svg.png 23 | RU-KO,Республика Коми,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/5/54/Flag_of_Komi.svg/1920px-Flag_of_Komi.svg.png 24 | RU-KOS,Костромская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/2c/Flag_of_Kostroma_Oblast.svg/1920px-Flag_of_Kostroma_Oblast.svg.png 25 | RU-KDA,Краснодарский край,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Flag_of_Krasnodar_Krai.svg/1920px-Flag_of_Krasnodar_Krai.svg.png 26 | RU-KYA,Красноярский край,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/2d/Flag_of_Krasnoyarsk_Krai.svg/1920px-Flag_of_Krasnoyarsk_Krai.svg.png 27 | RU-KGN,Курганская область,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/9/92/Flag_of_Kurgan_Oblast.svg/1920px-Flag_of_Kurgan_Oblast.svg.png 28 | RU-KRS,Курская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/7/70/Flag_of_Kursk_Oblast.svg/1920px-Flag_of_Kursk_Oblast.svg.png 29 | RU-LEN,Ленинградская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/66/Flag_of_Leningrad_Oblast.svg/1920px-Flag_of_Leningrad_Oblast.svg.png 30 | RU-LIP,Липецкая область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/36/Flag_of_Lipetsk_Oblast.svg/1920px-Flag_of_Lipetsk_Oblast.svg.png 31 | RU-MAG,Магаданская область,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/29/Flag_of_Magadan_Oblast.svg/1920px-Flag_of_Magadan_Oblast.svg.png 32 | RU-MOW,г. Москва,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/0/03/Flag_of_Moscow%2C_Russia.svg/1920px-Flag_of_Moscow%2C_Russia.svg.png 33 | RU-MOS,Московская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/4/48/Flag_of_Moscow_oblast.svg/1280px-Flag_of_Moscow_oblast.svg.png 34 | RU-MUR,Мурманская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/3b/Flag_of_Murmansk_Oblast.svg/1280px-Flag_of_Murmansk_Oblast.svg.png 35 | RU-NEN,Ненецкий АО,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/15/Flag_of_Nenets_Autonomous_District.svg/1280px-Flag_of_Nenets_Autonomous_District.svg.png 36 | RU-NIZ,Нижегородская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/0/04/Flag_of_Nizhny_Novgorod_Region.svg/1280px-Flag_of_Nizhny_Novgorod_Region.svg.png 37 | RU-NGR,Новгородская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Flag_of_Novgorod_Oblast.svg/1280px-Flag_of_Novgorod_Oblast.svg.png 38 | RU-NVS,Новосибирская область,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Flag_of_Novosibirsk_oblast.svg/1280px-Flag_of_Novosibirsk_oblast.svg.png 39 | RU-OMS,Омская область,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Flag_of_Omsk_Oblast.svg/1280px-Flag_of_Omsk_Oblast.svg.png 40 | RU-ORL,Орловская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/0/05/Flag_of_Oryol_Oblast.svg/1280px-Flag_of_Oryol_Oblast.svg.png 41 | RU-ORE,Оренбургская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d6/Flag_of_Orenburg_Oblast.svg/1280px-Flag_of_Orenburg_Oblast.svg.png 42 | RU-PNZ,Пензенская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/d/da/Flag_of_Penza_Oblast.svg/1920px-Flag_of_Penza_Oblast.svg.png 43 | RU-PER,Пермский край,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/b/b5/Flag_of_Perm_Krai.svg/1280px-Flag_of_Perm_Krai.svg.png 44 | RU-PRI,Приморский край,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/38/Flag_of_Primorsky_Krai.svg/1280px-Flag_of_Primorsky_Krai.svg.png 45 | RU-PSK,Псковская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Flag_of_Pskov_Oblast.svg/1280px-Flag_of_Pskov_Oblast.svg.png 46 | RU-AD,Республика Адыгея,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/16/Flag_of_Adygea.svg/1920px-Flag_of_Adygea.svg.png 47 | RU-BA,Республика Башкортостан,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/3d/Flag_of_Bashkortostan.svg/1280px-Flag_of_Bashkortostan.svg.png 48 | RU-BU,Республика Бурятия,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/68/Flag_of_Buryatia.svg/1920px-Flag_of_Buryatia.svg.png 49 | RU-CU,Чувашская Республика,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d7/Flag_of_Chuvashia.svg/1920px-Flag_of_Chuvashia.svg.png 50 | UA-43,Республика Крым,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/a/aa/Flag_of_Crimea.svg/1920px-Flag_of_Crimea.svg.png 51 | RU-DA,Республика Дагестан,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c3/Flag_of_Dagestan.svg/1280px-Flag_of_Dagestan.svg.png 52 | RU-KK,Республика Хакасия,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/e/ec/Flag_of_Khakassia.svg/1920px-Flag_of_Khakassia.svg.png 53 | RU-KB,Кабардино-Балкарская Респ.,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Flag_of_Kabardino-Balkaria.svg/1280px-Flag_of_Kabardino-Balkaria.svg.png 54 | RU-KL,Республика Калмыкия,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/9/9f/Flag_of_Kalmykia.svg/1920px-Flag_of_Kalmykia.svg.png 55 | RU-KC,Карачаево-Черкесская Респ.,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/5/59/Flag_of_Karachay-Cherkessia.svg/1920px-Flag_of_Karachay-Cherkessia.svg.png 56 | RU-KR,Республика Карелия,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Flag_of_Karelia.svg/1280px-Flag_of_Karelia.svg.png 57 | RU-ME,Республика Марий Эл,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/a/a7/Flag_of_Mari_El.svg/1280px-Flag_of_Mari_El.svg.png 58 | RU-MO,Республика Мордовия,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/2f/Flag_of_Mordovia.svg/1280px-Flag_of_Mordovia.svg.png 59 | RU-SE,Респ. Сев. Осетия-Алания,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/1c/Flag_of_North_Ossetia.svg/1920px-Flag_of_North_Ossetia.svg.png 60 | RU-TA,Республика Татарстан,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/2/28/Flag_of_Tatarstan.svg/1920px-Flag_of_Tatarstan.svg.png 61 | RU-TY,Республика Тыва,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/7/77/Flag_of_Tuva.svg/1280px-Flag_of_Tuva.svg.png 62 | RU-UD,Удмуртская Республика,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Flag_of_Udmurtia.svg/1920px-Flag_of_Udmurtia.svg.png 63 | RU-ROS,Ростовская область,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d9/Flag_of_Rostov_Oblast.svg/1280px-Flag_of_Rostov_Oblast.svg.png 64 | RU-RYA,Рязанская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/8/8c/Flag_of_Ryazan_Oblast.svg/1280px-Flag_of_Ryazan_Oblast.svg.png 65 | RU-SA,Республика Саха (Якутия),Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/e/eb/Flag_of_Sakha.svg/1920px-Flag_of_Sakha.svg.png 66 | RU-SPE,г. Санкт-Петербург,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/c/ca/Flag_of_Saint_Petersburg.svg/1280px-Flag_of_Saint_Petersburg.svg.png 67 | RU-SAK,Сахалинская область,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/5/57/Flag_of_Sakhalin_Oblast.svg/1280px-Flag_of_Sakhalin_Oblast.svg.png 68 | RU-SAM,Самарская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/13/Flag_of_Samara_Oblast.svg/1280px-Flag_of_Samara_Oblast.svg.png 69 | RU-SAR,Саратовская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/f/f5/Flag_of_Saratov_Oblast.svg/1280px-Flag_of_Saratov_Oblast.svg.png 70 | UA-40,г. Севастополь,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/1/14/Flag_of_Sevastopol.svg/1280px-Flag_of_Sevastopol.svg.png 71 | RU-SMO,Смоленская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/b/bd/Flag_of_Smolensk_oblast.svg/1280px-Flag_of_Smolensk_oblast.svg.png 72 | RU-STA,Ставропольский край,Северо-Кавказский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/b/b4/Flag_of_Stavropol_Krai.svg/1280px-Flag_of_Stavropol_Krai.svg.png 73 | RU-SVE,Свердловская область,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/e/ef/Flag_of_Sverdlovsk_Oblast.svg/1280px-Flag_of_Sverdlovsk_Oblast.svg.png 74 | RU-TAM,Тамбовская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/39/Flag_of_Tambov_Oblast.svg/1280px-Flag_of_Tambov_Oblast.svg.png 75 | RU-TOM,Томская область,Сибирский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/5/50/Flag_of_Tomsk_Oblast.svg/1280px-Flag_of_Tomsk_Oblast.svg.png 76 | RU-TUL,Тульская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/69/Flag_of_Tula_Oblast.svg/1280px-Flag_of_Tula_Oblast.svg.png 77 | RU-TYU,Тюменская область,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/4/4e/Flag_of_Tyumen_Oblast.svg/1280px-Flag_of_Tyumen_Oblast.svg.png 78 | RU-TVE,Тверская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/60/Flag_of_Tver_Oblast.svg/1280px-Flag_of_Tver_Oblast.svg.png 79 | RU-ULY,Ульяновская область,Приволжский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/d/d8/Flag_of_Ulyanovsk_Oblast.svg/1280px-Flag_of_Ulyanovsk_Oblast.svg.png 80 | RU-VLA,Владимирская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/8/85/Flag_of_Vladimirskaya_Oblast.svg/1280px-Flag_of_Vladimirskaya_Oblast.svg.png 81 | RU-VGG,Волгоградская область,Южный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/3/35/Flag_of_Volgograd_Oblast.svg/1280px-Flag_of_Volgograd_Oblast.svg.png 82 | RU-VLG,Вологодская область,Северо-Западный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/a/af/Flag_of_Vologda_oblast.svg/1280px-Flag_of_Vologda_oblast.svg.png 83 | RU-VOR,Воронежская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/6/64/Flag_of_Voronezh_Oblast.svg/1280px-Flag_of_Voronezh_Oblast.svg.png 84 | RU-YAN,Ямало-Ненецкий АО,Уральский ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/c/c7/Flag_of_Yamal-Nenets_Autonomous_District.svg/1280px-Flag_of_Yamal-Nenets_Autonomous_District.svg.png 85 | RU-YAR,Ярославская область,Центральный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/b/ba/Flag_of_Yaroslavl_Oblast.svg/1280px-Flag_of_Yaroslavl_Oblast.svg.png 86 | RU-ZAB,Забайкальский край,Дальневосточный ФО,https://upload.wikimedia.org/wikipedia/commons/thumb/b/b8/Flag_of_Zabaykalsky_Krai.svg/1280px-Flag_of_Zabaykalsky_Krai.svg.png 87 | -------------------------------------------------------------------------------- /data/week2/validate.csv: -------------------------------------------------------------------------------- 1 | date,country,confirmed,deaths 2 | 2020-04-20,RU-AD,100,2 3 | 2020-04-21,RU-AD,108,2 4 | 2020-04-22,RU-AD,113,3 5 | 2020-04-23,RU-AD,114,3 6 | 2020-04-24,RU-AD,117,3 7 | 2020-04-25,RU-AD,119,3 8 | 2020-04-26,RU-AD,134,3 9 | 2020-04-20,RU-AL,4,0 10 | 2020-04-21,RU-AL,8,0 11 | 2020-04-22,RU-AL,8,0 12 | 2020-04-23,RU-AL,9,0 13 | 2020-04-24,RU-AL,9,0 14 | 2020-04-25,RU-AL,14,0 15 | 2020-04-26,RU-AL,15,0 16 | 2020-04-20,RU-ALT,84,0 17 | 2020-04-21,RU-ALT,127,0 18 | 2020-04-22,RU-ALT,136,0 19 | 2020-04-23,RU-ALT,144,0 20 | 2020-04-24,RU-ALT,152,0 21 | 2020-04-25,RU-ALT,215,1 22 | 2020-04-26,RU-ALT,283,2 23 | 2020-04-20,RU-AMU,20,0 24 | 2020-04-21,RU-AMU,20,0 25 | 2020-04-22,RU-AMU,23,0 26 | 2020-04-23,RU-AMU,25,0 27 | 2020-04-24,RU-AMU,28,0 28 | 2020-04-25,RU-AMU,33,0 29 | 2020-04-26,RU-AMU,36,0 30 | 2020-04-20,RU-ARK,114,1 31 | 2020-04-21,RU-ARK,118,1 32 | 2020-04-22,RU-ARK,120,1 33 | 2020-04-23,RU-ARK,123,1 34 | 2020-04-24,RU-ARK,137,1 35 | 2020-04-25,RU-ARK,147,1 36 | 2020-04-26,RU-ARK,167,1 37 | 2020-04-20,RU-AST,136,3 38 | 2020-04-21,RU-AST,137,3 39 | 2020-04-22,RU-AST,148,3 40 | 2020-04-23,RU-AST,165,3 41 | 2020-04-24,RU-AST,186,3 42 | 2020-04-25,RU-AST,211,4 43 | 2020-04-26,RU-AST,277,4 44 | 2020-04-20,RU-BA,297,14 45 | 2020-04-21,RU-BA,371,14 46 | 2020-04-22,RU-BA,396,14 47 | 2020-04-23,RU-BA,422,14 48 | 2020-04-24,RU-BA,455,14 49 | 2020-04-25,RU-BA,490,14 50 | 2020-04-26,RU-BA,527,14 51 | 2020-04-20,RU-BEL,112,2 52 | 2020-04-21,RU-BEL,122,2 53 | 2020-04-22,RU-BEL,144,2 54 | 2020-04-23,RU-BEL,176,2 55 | 2020-04-24,RU-BEL,202,2 56 | 2020-04-25,RU-BEL,221,2 57 | 2020-04-26,RU-BEL,242,2 58 | 2020-04-20,RU-BRY,321,1 59 | 2020-04-21,RU-BRY,350,1 60 | 2020-04-22,RU-BRY,399,1 61 | 2020-04-23,RU-BRY,459,2 62 | 2020-04-24,RU-BRY,494,2 63 | 2020-04-25,RU-BRY,521,2 64 | 2020-04-26,RU-BRY,599,3 65 | 2020-04-20,RU-BU,115,2 66 | 2020-04-21,RU-BU,125,2 67 | 2020-04-22,RU-BU,153,2 68 | 2020-04-23,RU-BU,163,2 69 | 2020-04-24,RU-BU,167,2 70 | 2020-04-25,RU-BU,180,2 71 | 2020-04-26,RU-BU,186,2 72 | 2020-04-20,RU-CE,264,5 73 | 2020-04-21,RU-CE,303,5 74 | 2020-04-22,RU-CE,323,6 75 | 2020-04-23,RU-CE,347,6 76 | 2020-04-24,RU-CE,365,6 77 | 2020-04-25,RU-CE,387,6 78 | 2020-04-26,RU-CE,409,6 79 | 2020-04-20,RU-CHE,78,0 80 | 2020-04-21,RU-CHE,92,0 81 | 2020-04-22,RU-CHE,102,0 82 | 2020-04-23,RU-CHE,111,0 83 | 2020-04-24,RU-CHE,168,0 84 | 2020-04-25,RU-CHE,240,0 85 | 2020-04-26,RU-CHE,302,0 86 | 2020-04-20,RU-CHU,2,0 87 | 2020-04-21,RU-CHU,2,0 88 | 2020-04-22,RU-CHU,6,0 89 | 2020-04-23,RU-CHU,6,0 90 | 2020-04-24,RU-CHU,11,0 91 | 2020-04-25,RU-CHU,12,0 92 | 2020-04-26,RU-CHU,15,0 93 | 2020-04-20,RU-CU,225,2 94 | 2020-04-21,RU-CU,235,5 95 | 2020-04-22,RU-CU,262,5 96 | 2020-04-23,RU-CU,305,5 97 | 2020-04-24,RU-CU,348,5 98 | 2020-04-25,RU-CU,383,7 99 | 2020-04-26,RU-CU,421,8 100 | 2020-04-20,RU-DA,331,9 101 | 2020-04-21,RU-DA,371,11 102 | 2020-04-22,RU-DA,417,11 103 | 2020-04-23,RU-DA,454,11 104 | 2020-04-24,RU-DA,567,11 105 | 2020-04-25,RU-DA,724,11 106 | 2020-04-26,RU-DA,827,11 107 | 2020-04-20,RU-IN,308,5 108 | 2020-04-21,RU-IN,354,9 109 | 2020-04-22,RU-IN,397,12 110 | 2020-04-23,RU-IN,436,13 111 | 2020-04-24,RU-IN,474,13 112 | 2020-04-25,RU-IN,515,13 113 | 2020-04-26,RU-IN,552,13 114 | 2020-04-20,RU-IRK,65,2 115 | 2020-04-21,RU-IRK,68,3 116 | 2020-04-22,RU-IRK,75,3 117 | 2020-04-23,RU-IRK,75,3 118 | 2020-04-24,RU-IRK,80,3 119 | 2020-04-25,RU-IRK,85,3 120 | 2020-04-26,RU-IRK,87,4 121 | 2020-04-20,RU-IVA,203,2 122 | 2020-04-21,RU-IVA,213,2 123 | 2020-04-22,RU-IVA,225,2 124 | 2020-04-23,RU-IVA,239,2 125 | 2020-04-24,RU-IVA,247,2 126 | 2020-04-25,RU-IVA,263,2 127 | 2020-04-26,RU-IVA,274,2 128 | 2020-04-20,RU-KAM,41,0 129 | 2020-04-21,RU-KAM,48,0 130 | 2020-04-22,RU-KAM,63,0 131 | 2020-04-23,RU-KAM,78,0 132 | 2020-04-24,RU-KAM,84,0 133 | 2020-04-25,RU-KAM,87,0 134 | 2020-04-26,RU-KAM,110,0 135 | 2020-04-20,RU-KB,152,0 136 | 2020-04-21,RU-KB,170,1 137 | 2020-04-22,RU-KB,193,1 138 | 2020-04-23,RU-KB,218,1 139 | 2020-04-24,RU-KB,243,1 140 | 2020-04-25,RU-KB,272,1 141 | 2020-04-26,RU-KB,300,1 142 | 2020-04-20,RU-KC,87,0 143 | 2020-04-21,RU-KC,106,0 144 | 2020-04-22,RU-KC,145,0 145 | 2020-04-23,RU-KC,169,0 146 | 2020-04-24,RU-KC,194,0 147 | 2020-04-25,RU-KC,240,0 148 | 2020-04-26,RU-KC,282,1 149 | 2020-04-20,RU-KDA,417,8 150 | 2020-04-21,RU-KDA,461,8 151 | 2020-04-22,RU-KDA,481,11 152 | 2020-04-23,RU-KDA,539,14 153 | 2020-04-24,RU-KDA,623,16 154 | 2020-04-25,RU-KDA,707,18 155 | 2020-04-26,RU-KDA,780,19 156 | 2020-04-20,RU-KEM,41,1 157 | 2020-04-21,RU-KEM,47,1 158 | 2020-04-22,RU-KEM,56,1 159 | 2020-04-23,RU-KEM,67,1 160 | 2020-04-24,RU-KEM,76,1 161 | 2020-04-25,RU-KEM,82,1 162 | 2020-04-26,RU-KEM,103,1 163 | 2020-04-20,RU-KGD,138,1 164 | 2020-04-21,RU-KGD,144,1 165 | 2020-04-22,RU-KGD,163,1 166 | 2020-04-23,RU-KGD,171,1 167 | 2020-04-24,RU-KGD,189,1 168 | 2020-04-25,RU-KGD,210,1 169 | 2020-04-26,RU-KGD,236,3 170 | 2020-04-20,RU-KGN,13,0 171 | 2020-04-21,RU-KGN,15,0 172 | 2020-04-22,RU-KGN,15,0 173 | 2020-04-23,RU-KGN,20,0 174 | 2020-04-24,RU-KGN,22,0 175 | 2020-04-25,RU-KGN,27,0 176 | 2020-04-26,RU-KGN,29,0 177 | 2020-04-20,RU-KHA,215,5 178 | 2020-04-21,RU-KHA,243,5 179 | 2020-04-22,RU-KHA,272,5 180 | 2020-04-23,RU-KHA,310,5 181 | 2020-04-24,RU-KHA,351,5 182 | 2020-04-25,RU-KHA,379,5 183 | 2020-04-26,RU-KHA,406,5 184 | 2020-04-20,RU-KHM,188,0 185 | 2020-04-21,RU-KHM,197,0 186 | 2020-04-22,RU-KHM,203,1 187 | 2020-04-23,RU-KHM,215,1 188 | 2020-04-24,RU-KHM,217,1 189 | 2020-04-25,RU-KHM,233,1 190 | 2020-04-26,RU-KHM,274,1 191 | 2020-04-20,RU-KIR,169,2 192 | 2020-04-21,RU-KIR,188,2 193 | 2020-04-22,RU-KIR,216,3 194 | 2020-04-23,RU-KIR,240,3 195 | 2020-04-24,RU-KIR,276,3 196 | 2020-04-25,RU-KIR,316,3 197 | 2020-04-26,RU-KIR,362,3 198 | 2020-04-20,RU-KK,76,0 199 | 2020-04-21,RU-KK,84,0 200 | 2020-04-22,RU-KK,87,0 201 | 2020-04-23,RU-KK,99,0 202 | 2020-04-24,RU-KK,102,1 203 | 2020-04-25,RU-KK,151,2 204 | 2020-04-26,RU-KK,176,2 205 | 2020-04-20,RU-KL,77,3 206 | 2020-04-21,RU-KL,77,3 207 | 2020-04-22,RU-KL,88,3 208 | 2020-04-23,RU-KL,94,3 209 | 2020-04-24,RU-KL,104,3 210 | 2020-04-25,RU-KL,122,3 211 | 2020-04-26,RU-KL,146,3 212 | 2020-04-20,RU-KLU,228,4 213 | 2020-04-21,RU-KLU,258,6 214 | 2020-04-22,RU-KLU,330,8 215 | 2020-04-23,RU-KLU,383,8 216 | 2020-04-24,RU-KLU,444,8 217 | 2020-04-25,RU-KLU,513,8 218 | 2020-04-26,RU-KLU,583,8 219 | 2020-04-20,RU-KO,491,3 220 | 2020-04-21,RU-KO,507,3 221 | 2020-04-22,RU-KO,527,4 222 | 2020-04-23,RU-KO,542,4 223 | 2020-04-24,RU-KO,553,4 224 | 2020-04-25,RU-KO,561,4 225 | 2020-04-26,RU-KO,578,5 226 | 2020-04-20,RU-KOS,70,2 227 | 2020-04-21,RU-KOS,81,2 228 | 2020-04-22,RU-KOS,88,2 229 | 2020-04-23,RU-KOS,104,2 230 | 2020-04-24,RU-KOS,120,2 231 | 2020-04-25,RU-KOS,137,3 232 | 2020-04-26,RU-KOS,148,3 233 | 2020-04-20,RU-KR,27,0 234 | 2020-04-21,RU-KR,30,0 235 | 2020-04-22,RU-KR,30,0 236 | 2020-04-23,RU-KR,35,0 237 | 2020-04-24,RU-KR,37,0 238 | 2020-04-25,RU-KR,42,0 239 | 2020-04-26,RU-KR,44,0 240 | 2020-04-20,RU-KRS,220,2 241 | 2020-04-21,RU-KRS,242,3 242 | 2020-04-22,RU-KRS,276,3 243 | 2020-04-23,RU-KRS,308,3 244 | 2020-04-24,RU-KRS,345,3 245 | 2020-04-25,RU-KRS,389,4 246 | 2020-04-26,RU-KRS,456,4 247 | 2020-04-20,RU-KYA,306,2 248 | 2020-04-21,RU-KYA,370,2 249 | 2020-04-22,RU-KYA,392,2 250 | 2020-04-23,RU-KYA,427,5 251 | 2020-04-24,RU-KYA,449,5 252 | 2020-04-25,RU-KYA,467,5 253 | 2020-04-26,RU-KYA,508,5 254 | 2020-04-20,RU-LEN,454,0 255 | 2020-04-21,RU-LEN,496,0 256 | 2020-04-22,RU-LEN,537,0 257 | 2020-04-23,RU-LEN,576,0 258 | 2020-04-24,RU-LEN,615,0 259 | 2020-04-25,RU-LEN,658,0 260 | 2020-04-26,RU-LEN,700,0 261 | 2020-04-20,RU-LIP,169,1 262 | 2020-04-21,RU-LIP,189,2 263 | 2020-04-22,RU-LIP,213,2 264 | 2020-04-23,RU-LIP,238,2 265 | 2020-04-24,RU-LIP,263,2 266 | 2020-04-25,RU-LIP,284,2 267 | 2020-04-26,RU-LIP,306,2 268 | 2020-04-20,RU-MAG,63,0 269 | 2020-04-21,RU-MAG,65,0 270 | 2020-04-22,RU-MAG,67,0 271 | 2020-04-23,RU-MAG,76,0 272 | 2020-04-24,RU-MAG,78,0 273 | 2020-04-25,RU-MAG,87,0 274 | 2020-04-26,RU-MAG,88,0 275 | 2020-04-20,RU-ME,291,1 276 | 2020-04-21,RU-ME,311,1 277 | 2020-04-22,RU-ME,333,1 278 | 2020-04-23,RU-ME,348,1 279 | 2020-04-24,RU-ME,377,1 280 | 2020-04-25,RU-ME,407,1 281 | 2020-04-26,RU-ME,431,3 282 | 2020-04-20,RU-MO,293,1 283 | 2020-04-21,RU-MO,327,1 284 | 2020-04-22,RU-MO,357,1 285 | 2020-04-23,RU-MO,385,1 286 | 2020-04-24,RU-MO,424,2 287 | 2020-04-25,RU-MO,469,2 288 | 2020-04-26,RU-MO,518,2 289 | 2020-04-20,RU-MOS,5241,49 290 | 2020-04-21,RU-MOS,5959,49 291 | 2020-04-22,RU-MOS,6590,56 292 | 2020-04-23,RU-MOS,7278,56 293 | 2020-04-24,RU-MOS,7889,66 294 | 2020-04-25,RU-MOS,8494,69 295 | 2020-04-26,RU-MOS,9070,71 296 | 2020-04-20,RU-MOW,26350,204 297 | 2020-04-21,RU-MOW,29433,233 298 | 2020-04-22,RU-MOW,31981,261 299 | 2020-04-23,RU-MOW,33940,288 300 | 2020-04-24,RU-MOW,36897,325 301 | 2020-04-25,RU-MOW,39509,366 302 | 2020-04-26,RU-MOW,42480,404 303 | 2020-04-20,RU-MUR,400,3 304 | 2020-04-21,RU-MUR,435,3 305 | 2020-04-22,RU-MUR,506,3 306 | 2020-04-23,RU-MUR,603,3 307 | 2020-04-24,RU-MUR,663,4 308 | 2020-04-25,RU-MUR,856,4 309 | 2020-04-26,RU-MUR,961,4 310 | 2020-04-20,RU-NEN,1,0 311 | 2020-04-21,RU-NEN,1,0 312 | 2020-04-22,RU-NEN,1,0 313 | 2020-04-23,RU-NEN,1,0 314 | 2020-04-24,RU-NEN,1,0 315 | 2020-04-25,RU-NEN,1,0 316 | 2020-04-26,RU-NEN,2,0 317 | 2020-04-20,RU-NGR,108,1 318 | 2020-04-21,RU-NGR,114,1 319 | 2020-04-22,RU-NGR,140,1 320 | 2020-04-23,RU-NGR,157,1 321 | 2020-04-24,RU-NGR,171,1 322 | 2020-04-25,RU-NGR,186,1 323 | 2020-04-26,RU-NGR,211,2 324 | 2020-04-20,RU-NIZ,759,5 325 | 2020-04-21,RU-NIZ,860,5 326 | 2020-04-22,RU-NIZ,929,6 327 | 2020-04-23,RU-NIZ,1002,7 328 | 2020-04-24,RU-NIZ,1096,8 329 | 2020-04-25,RU-NIZ,1214,8 330 | 2020-04-26,RU-NIZ,1367,8 331 | 2020-04-20,RU-NVS,132,3 332 | 2020-04-21,RU-NVS,135,4 333 | 2020-04-22,RU-NVS,151,4 334 | 2020-04-23,RU-NVS,168,4 335 | 2020-04-24,RU-NVS,209,4 336 | 2020-04-25,RU-NVS,247,4 337 | 2020-04-26,RU-NVS,305,4 338 | 2020-04-20,RU-OMS,36,0 339 | 2020-04-21,RU-OMS,41,0 340 | 2020-04-22,RU-OMS,45,0 341 | 2020-04-23,RU-OMS,53,0 342 | 2020-04-24,RU-OMS,54,0 343 | 2020-04-25,RU-OMS,58,1 344 | 2020-04-26,RU-OMS,62,2 345 | 2020-04-20,RU-ORE,184,2 346 | 2020-04-21,RU-ORE,226,2 347 | 2020-04-22,RU-ORE,254,2 348 | 2020-04-23,RU-ORE,277,2 349 | 2020-04-24,RU-ORE,305,2 350 | 2020-04-25,RU-ORE,361,2 351 | 2020-04-26,RU-ORE,377,2 352 | 2020-04-20,RU-ORL,175,1 353 | 2020-04-21,RU-ORL,198,1 354 | 2020-04-22,RU-ORL,238,2 355 | 2020-04-23,RU-ORL,249,2 356 | 2020-04-24,RU-ORL,296,2 357 | 2020-04-25,RU-ORL,321,2 358 | 2020-04-26,RU-ORL,363,2 359 | 2020-04-20,RU-PER,215,3 360 | 2020-04-21,RU-PER,237,3 361 | 2020-04-22,RU-PER,266,3 362 | 2020-04-23,RU-PER,287,4 363 | 2020-04-24,RU-PER,318,4 364 | 2020-04-25,RU-PER,373,4 365 | 2020-04-26,RU-PER,434,4 366 | 2020-04-20,RU-PNZ,165,5 367 | 2020-04-21,RU-PNZ,180,5 368 | 2020-04-22,RU-PNZ,196,5 369 | 2020-04-23,RU-PNZ,211,5 370 | 2020-04-24,RU-PNZ,232,5 371 | 2020-04-25,RU-PNZ,255,6 372 | 2020-04-26,RU-PNZ,261,6 373 | 2020-04-20,RU-PRI,97,2 374 | 2020-04-21,RU-PRI,104,2 375 | 2020-04-22,RU-PRI,166,2 376 | 2020-04-23,RU-PRI,185,2 377 | 2020-04-24,RU-PRI,220,2 378 | 2020-04-25,RU-PRI,254,2 379 | 2020-04-26,RU-PRI,278,3 380 | 2020-04-20,RU-PSK,52,6 381 | 2020-04-21,RU-PSK,58,6 382 | 2020-04-22,RU-PSK,62,6 383 | 2020-04-23,RU-PSK,66,6 384 | 2020-04-24,RU-PSK,81,6 385 | 2020-04-25,RU-PSK,93,6 386 | 2020-04-26,RU-PSK,110,7 387 | 2020-04-20,RU-ROS,292,0 388 | 2020-04-21,RU-ROS,346,0 389 | 2020-04-22,RU-ROS,398,0 390 | 2020-04-23,RU-ROS,469,0 391 | 2020-04-24,RU-ROS,533,0 392 | 2020-04-25,RU-ROS,584,0 393 | 2020-04-26,RU-ROS,649,1 394 | 2020-04-20,RU-RYA,289,0 395 | 2020-04-21,RU-RYA,316,0 396 | 2020-04-22,RU-RYA,392,0 397 | 2020-04-23,RU-RYA,429,0 398 | 2020-04-24,RU-RYA,475,0 399 | 2020-04-25,RU-RYA,539,0 400 | 2020-04-26,RU-RYA,602,0 401 | 2020-04-20,RU-SA,107,0 402 | 2020-04-21,RU-SA,111,0 403 | 2020-04-22,RU-SA,116,0 404 | 2020-04-23,RU-SA,128,0 405 | 2020-04-24,RU-SA,137,0 406 | 2020-04-25,RU-SA,141,0 407 | 2020-04-26,RU-SA,152,0 408 | 2020-04-20,RU-SAK,19,0 409 | 2020-04-21,RU-SAK,19,0 410 | 2020-04-22,RU-SAK,19,0 411 | 2020-04-23,RU-SAK,19,0 412 | 2020-04-24,RU-SAK,20,0 413 | 2020-04-25,RU-SAK,20,0 414 | 2020-04-26,RU-SAK,20,0 415 | 2020-04-20,RU-SAM,95,0 416 | 2020-04-21,RU-SAM,103,0 417 | 2020-04-22,RU-SAM,115,0 418 | 2020-04-23,RU-SAM,141,0 419 | 2020-04-24,RU-SAM,185,0 420 | 2020-04-25,RU-SAM,209,0 421 | 2020-04-26,RU-SAM,229,2 422 | 2020-04-20,RU-SAR,142,0 423 | 2020-04-21,RU-SAR,168,0 424 | 2020-04-22,RU-SAR,190,0 425 | 2020-04-23,RU-SAR,229,0 426 | 2020-04-24,RU-SAR,245,0 427 | 2020-04-25,RU-SAR,265,2 428 | 2020-04-26,RU-SAR,305,2 429 | 2020-04-20,RU-SE,145,2 430 | 2020-04-21,RU-SE,177,2 431 | 2020-04-22,RU-SE,211,2 432 | 2020-04-23,RU-SE,242,2 433 | 2020-04-24,RU-SE,275,2 434 | 2020-04-25,RU-SE,305,2 435 | 2020-04-26,RU-SE,348,2 436 | 2020-04-20,RU-SMO,189,2 437 | 2020-04-21,RU-SMO,208,2 438 | 2020-04-22,RU-SMO,244,2 439 | 2020-04-23,RU-SMO,251,2 440 | 2020-04-24,RU-SMO,262,2 441 | 2020-04-25,RU-SMO,279,2 442 | 2020-04-26,RU-SMO,289,2 443 | 2020-04-20,RU-SPE,1846,8 444 | 2020-04-21,RU-SPE,1973,11 445 | 2020-04-22,RU-SPE,2267,14 446 | 2020-04-23,RU-SPE,2458,17 447 | 2020-04-24,RU-SPE,2711,20 448 | 2020-04-25,RU-SPE,2926,23 449 | 2020-04-26,RU-SPE,3077,27 450 | 2020-04-20,RU-STA,244,3 451 | 2020-04-21,RU-STA,266,4 452 | 2020-04-22,RU-STA,277,5 453 | 2020-04-23,RU-STA,332,5 454 | 2020-04-24,RU-STA,358,5 455 | 2020-04-25,RU-STA,385,5 456 | 2020-04-26,RU-STA,421,6 457 | 2020-04-20,RU-SVE,149,1 458 | 2020-04-21,RU-SVE,233,1 459 | 2020-04-22,RU-SVE,243,1 460 | 2020-04-23,RU-SVE,271,1 461 | 2020-04-24,RU-SVE,304,1 462 | 2020-04-25,RU-SVE,337,1 463 | 2020-04-26,RU-SVE,395,1 464 | 2020-04-20,RU-TA,230,0 465 | 2020-04-21,RU-TA,280,0 466 | 2020-04-22,RU-TA,355,0 467 | 2020-04-23,RU-TA,412,0 468 | 2020-04-24,RU-TA,426,0 469 | 2020-04-25,RU-TA,491,0 470 | 2020-04-26,RU-TA,562,0 471 | 2020-04-20,RU-TAM,209,0 472 | 2020-04-21,RU-TAM,222,0 473 | 2020-04-22,RU-TAM,240,0 474 | 2020-04-23,RU-TAM,263,0 475 | 2020-04-24,RU-TAM,298,0 476 | 2020-04-25,RU-TAM,343,1 477 | 2020-04-26,RU-TAM,399,1 478 | 2020-04-20,RU-TOM,33,0 479 | 2020-04-21,RU-TOM,37,0 480 | 2020-04-22,RU-TOM,43,0 481 | 2020-04-23,RU-TOM,52,0 482 | 2020-04-24,RU-TOM,59,0 483 | 2020-04-25,RU-TOM,66,0 484 | 2020-04-26,RU-TOM,67,0 485 | 2020-04-20,RU-TUL,309,0 486 | 2020-04-21,RU-TUL,384,1 487 | 2020-04-22,RU-TUL,436,2 488 | 2020-04-23,RU-TUL,461,3 489 | 2020-04-24,RU-TUL,505,3 490 | 2020-04-25,RU-TUL,578,4 491 | 2020-04-26,RU-TUL,644,5 492 | 2020-04-20,RU-TVE,296,0 493 | 2020-04-21,RU-TVE,329,0 494 | 2020-04-22,RU-TVE,356,0 495 | 2020-04-23,RU-TVE,383,0 496 | 2020-04-24,RU-TVE,412,0 497 | 2020-04-25,RU-TVE,441,0 498 | 2020-04-26,RU-TVE,464,1 499 | 2020-04-20,RU-TY,13,0 500 | 2020-04-21,RU-TY,13,0 501 | 2020-04-22,RU-TY,13,0 502 | 2020-04-23,RU-TY,14,0 503 | 2020-04-24,RU-TY,15,0 504 | 2020-04-25,RU-TY,24,0 505 | 2020-04-26,RU-TY,27,0 506 | 2020-04-20,RU-TYU,254,2 507 | 2020-04-21,RU-TYU,290,2 508 | 2020-04-22,RU-TYU,319,2 509 | 2020-04-23,RU-TYU,341,2 510 | 2020-04-24,RU-TYU,357,2 511 | 2020-04-25,RU-TYU,374,3 512 | 2020-04-26,RU-TYU,386,3 513 | 2020-04-20,RU-UD,92,3 514 | 2020-04-21,RU-UD,118,3 515 | 2020-04-22,RU-UD,152,3 516 | 2020-04-23,RU-UD,161,3 517 | 2020-04-24,RU-UD,178,4 518 | 2020-04-25,RU-UD,193,4 519 | 2020-04-26,RU-UD,202,4 520 | 2020-04-20,RU-ULY,187,2 521 | 2020-04-21,RU-ULY,187,2 522 | 2020-04-22,RU-ULY,196,2 523 | 2020-04-23,RU-ULY,228,2 524 | 2020-04-24,RU-ULY,253,3 525 | 2020-04-25,RU-ULY,280,3 526 | 2020-04-26,RU-ULY,307,3 527 | 2020-04-20,RU-VGG,111,1 528 | 2020-04-21,RU-VGG,134,1 529 | 2020-04-22,RU-VGG,145,2 530 | 2020-04-23,RU-VGG,165,2 531 | 2020-04-24,RU-VGG,186,3 532 | 2020-04-25,RU-VGG,212,5 533 | 2020-04-26,RU-VGG,242,6 534 | 2020-04-20,RU-VLA,259,5 535 | 2020-04-21,RU-VLA,280,5 536 | 2020-04-22,RU-VLA,293,5 537 | 2020-04-23,RU-VLA,339,5 538 | 2020-04-24,RU-VLA,381,5 539 | 2020-04-25,RU-VLA,426,5 540 | 2020-04-26,RU-VLA,475,5 541 | 2020-04-20,RU-VLG,100,0 542 | 2020-04-21,RU-VLG,107,0 543 | 2020-04-22,RU-VLG,114,0 544 | 2020-04-23,RU-VLG,120,0 545 | 2020-04-24,RU-VLG,129,0 546 | 2020-04-25,RU-VLG,138,0 547 | 2020-04-26,RU-VLG,145,0 548 | 2020-04-20,RU-VOR,180,5 549 | 2020-04-21,RU-VOR,211,6 550 | 2020-04-22,RU-VOR,236,7 551 | 2020-04-23,RU-VOR,261,7 552 | 2020-04-24,RU-VOR,291,7 553 | 2020-04-25,RU-VOR,313,8 554 | 2020-04-26,RU-VOR,338,8 555 | 2020-04-20,RU-YAN,140,1 556 | 2020-04-21,RU-YAN,146,1 557 | 2020-04-22,RU-YAN,149,1 558 | 2020-04-23,RU-YAN,243,1 559 | 2020-04-24,RU-YAN,266,1 560 | 2020-04-25,RU-YAN,303,1 561 | 2020-04-26,RU-YAN,348,1 562 | 2020-04-20,RU-YAR,144,0 563 | 2020-04-21,RU-YAR,187,0 564 | 2020-04-22,RU-YAR,198,0 565 | 2020-04-23,RU-YAR,263,1 566 | 2020-04-24,RU-YAR,305,2 567 | 2020-04-25,RU-YAR,342,2 568 | 2020-04-26,RU-YAR,384,2 569 | 2020-04-20,RU-YEV,22,0 570 | 2020-04-21,RU-YEV,43,0 571 | 2020-04-22,RU-YEV,52,0 572 | 2020-04-23,RU-YEV,66,0 573 | 2020-04-24,RU-YEV,80,0 574 | 2020-04-25,RU-YEV,86,0 575 | 2020-04-26,RU-YEV,86,0 576 | 2020-04-20,RU-ZAB,43,0 577 | 2020-04-21,RU-ZAB,50,0 578 | 2020-04-22,RU-ZAB,61,0 579 | 2020-04-23,RU-ZAB,64,0 580 | 2020-04-24,RU-ZAB,73,0 581 | 2020-04-25,RU-ZAB,83,0 582 | 2020-04-26,RU-ZAB,90,0 583 | 2020-04-20,UA-40,17,0 584 | 2020-04-21,UA-40,18,0 585 | 2020-04-22,UA-40,19,0 586 | 2020-04-23,UA-40,25,0 587 | 2020-04-24,UA-40,25,0 588 | 2020-04-25,UA-40,26,0 589 | 2020-04-26,UA-40,31,0 590 | 2020-04-20,UA-43,45,0 591 | 2020-04-21,UA-43,46,0 592 | 2020-04-22,UA-43,46,0 593 | 2020-04-23,UA-43,51,0 594 | 2020-04-24,UA-43,53,0 595 | 2020-04-25,UA-43,57,0 596 | 2020-04-26,UA-43,67,0 597 | -------------------------------------------------------------------------------- /data/countries.csv: -------------------------------------------------------------------------------- 1 | country,name,iso_alpha2,population,area,density,lat,long,is_region,region_center 2 | AFG,Afghanistan,AF,38928346,652860,60.0,33.0,65.0,0, 3 | AGO,Angola,AO,32866272,1246700,26.0,-11.2027,17.8739,0, 4 | ALB,Albania,AL,2877797,27400,105.0,41.1533,20.1683,0, 5 | AND,Andorra,AD,77265,470,164.0,42.5063,1.5218,0, 6 | ARE,United Arab Emirates,AE,9890402,83600,118.0,24.0,54.0,0, 7 | ARG,Argentina,AR,45195774,2736690,17.0,-38.4161,-63.6167,0, 8 | ARM,Armenia,AM,2963243,28470,104.0,40.0691,45.0382,0, 9 | ATG,Antigua and Barbuda,AG,97929,440,223.0,17.0608,-61.7964,0, 10 | AUS,Australia,AU,25499884,7682300,3.0,-31.9961875,141.2327875,0, 11 | AUT,Austria,AT,9006398,82409,109.0,47.5162,14.5501,0, 12 | AZE,Azerbaijan,AZ,10139177,82658,123.0,40.1431,47.5769,0, 13 | BEL,Belgium,BE,11589623,30280,383.0,50.8333,4.0,0, 14 | BEN,Benin,BJ,12123200,112760,108.0,9.3077,2.3158,0, 15 | BFA,Burkina Faso,BF,20903273,273600,76.0,12.2383,-1.5616,0, 16 | BGD,Bangladesh,BD,164689383,130170,1265.0,23.685,90.3563,0, 17 | BGR,Bulgaria,BG,6948445,108560,64.0,42.7339,25.4858,0, 18 | BHR,Bahrain,BH,1701575,760,2239.0,26.0275,50.55,0, 19 | BHS,Bahamas,BS,393244,10010,39.0,25.0343,-77.3963,0, 20 | BIH,Bosnia and Herzegovina,BA,3280819,51000,64.0,43.9159,17.6791,0, 21 | BLR,Belarus,BY,9449323,202910,47.0,53.7098,27.9534,0, 22 | BLZ,Belize,BZ,397628,22810,17.0,13.1939,-59.5432,0, 23 | BOL,Bolivia,BO,11673021,1083300,11.0,-16.2902,-63.5887,0, 24 | BRA,Brazil,BR,212559417,8358140,25.0,-14.235,-51.9253,0, 25 | BRB,Barbados,BB,287375,430,668.0,13.1939,-59.5432,0, 26 | BRN,Brunei,BN,437479,5270,83.0,4.5353,114.7277,0, 27 | BTN,Bhutan,BT,771608,38117,20.0,27.5142,90.4336,0, 28 | CAF,Central African Republic,CF,4829767,622980,8.0,6.6111,20.9394,0, 29 | CAN,Canada,CA,37742154,9093510,4.0,44.78404666666667,-82.50859333333331,0, 30 | CHE,Switzerland,CH,8654622,39516,219.0,46.8182,8.2275,0, 31 | CHL,Chile,CL,19116201,743532,26.0,-35.6751,-71.543,0, 32 | CHN,China,CN,1439323776,9388211,153.0,32.82838484848485,111.64908181818184,0, 33 | CIV,Cote d'Ivoire,CI,26378274,318000,83.0,7.54,-5.5471,0, 34 | CMR,Cameroon,CM,26545863,472710,56.0,3.8480000000000003,11.5021,0, 35 | COD,Congo (Kinshasa),CD,89561403,2267050,40.0,-4.0383,21.7587,0, 36 | COG,Congo (Brazzaville),CG,5518087,341500,16.0,-4.0383,21.7587,0, 37 | COL,Colombia,CO,50882891,1109500,46.0,4.5709,-74.2973,0, 38 | CPV,Cabo Verde,CV,555987,4030,138.0,16.5388,-23.0418,0, 39 | CRI,Costa Rica,CR,5094118,51060,100.0,9.7489,-83.7534,0, 40 | CUB,Cuba,CU,11326616,106440,106.0,22.0,-80.0,0, 41 | CYP,Cyprus,CY,1207359,9240,131.0,35.1264,33.4299,0, 42 | CZE,Czechia,CZ,10708981,77240,139.0,49.8175,15.472999999999999,0, 43 | DEU,Germany,DE,83783942,348560,240.0,51.0,9.0,0, 44 | DJI,Djibouti,DJ,988000,23180,43.0,11.8251,42.5903,0, 45 | DMA,Dominica,DM,71986,750,96.0,15.415,-61.371,0, 46 | DNK,Denmark,DK,5792202,42430,137.0,63.2878,-13.338100000000004,0, 47 | DOM,Dominican Republic,DO,10847910,48320,225.0,18.7357,-70.1627,0, 48 | DZA,Algeria,DZ,43851044,2381740,18.0,28.0339,1.6596,0, 49 | ECU,Ecuador,EC,17643054,248360,71.0,-1.8312,-78.1834,0, 50 | EGY,Egypt,EG,102334404,995450,103.0,26.0,30.0,0, 51 | ERI,Eritrea,ER,3546421,101000,35.0,15.1794,39.7823,0, 52 | ESP,Spain,ES,46754778,498800,94.0,40.0,-4.0,0, 53 | EST,Estonia,EE,1326535,42390,31.0,58.5953,25.0136,0, 54 | ETH,Ethiopia,ET,114963588,1000000,115.0,9.145,40.4897,0, 55 | FIN,Finland,FI,5540720,303890,18.0,64.0,26.0,0, 56 | FJI,Fiji,FJ,896445,18270,49.0,-17.7134,178.065,0, 57 | FRA,France,FR,65273511,547557,119.0,4.44772,11.603509999999998,0, 58 | GAB,Gabon,GA,2225734,257670,9.0,-0.8037,11.6094,0, 59 | GBR,United Kingdom,GB,67886011,241930,281.0,32.18262,-42.340109999999996,0, 60 | GEO,Georgia,GE,3989167,69490,57.0,42.3154,43.3569,0, 61 | GHA,Ghana,GH,31072940,227540,137.0,7.9465,-1.0232,0, 62 | GIN,Guinea,GN,13132795,245720,53.0,9.9456,-9.6966,0, 63 | GMB,Gambia,GM,2416668,10120,239.0,13.4432,-15.3101,0, 64 | GNQ,Equatorial Guinea,GQ,1402985,28050,50.0,1.5,10.0,0, 65 | GRC,Greece,GR,10423054,128900,81.0,39.0742,21.8243,0, 66 | GRD,Grenada,GD,112523,340,331.0,12.1165,-61.678999999999995,0, 67 | GTM,Guatemala,GT,17915568,107160,167.0,15.7835,-90.2308,0, 68 | GUY,Guyana,GY,786552,196850,4.0,5.0,-58.75,0, 69 | HND,Honduras,HN,9904607,111890,89.0,15.2,-86.2419,0, 70 | HRV,Croatia,HR,4105267,55960,73.0,45.1,15.2,0, 71 | HTI,Haiti,HT,11402528,27560,414.0,18.9712,-72.2852,0, 72 | HUN,Hungary,HU,9660351,90530,107.0,47.1625,19.5033,0, 73 | IDN,Indonesia,ID,273523615,1811570,151.0,-0.7893,113.9213,0, 74 | IND,India,IN,1380004385,2973190,464.0,21.0,78.0,0, 75 | IRL,Ireland,IE,4937786,68890,72.0,53.1424,-7.6921,0, 76 | IRN,Iran,IR,83992949,1628550,52.0,32.0,53.0,0, 77 | IRQ,Iraq,IQ,40222493,434320,93.0,33.0,44.0,0, 78 | ISL,Iceland,IS,341243,100250,3.0,64.9631,-19.0208,0, 79 | ISR,Israel,IL,8655535,21640,400.0,31.0,35.0,0, 80 | ITA,Italy,IT,60461826,294140,206.0,43.0,12.0,0, 81 | JAM,Jamaica,JM,2961167,10830,273.0,18.1096,-77.2975,0, 82 | JOR,Jordan,JO,10203134,88780,115.0,31.24,36.51,0, 83 | JPN,Japan,JP,126476461,364555,347.0,36.0,138.0,0, 84 | KAZ,Kazakhstan,KZ,18776707,2699700,7.0,48.0196,66.9237,0, 85 | KEN,Kenya,KE,53771296,569140,94.0,-0.0236,37.9062,0, 86 | KGZ,Kyrgyzstan,KG,6524195,191800,34.0,41.2044,74.7661,0, 87 | KHM,Cambodia,KH,16718965,176520,95.0,11.55,104.9167,0, 88 | KOR,"Korea, South",KR,51269185,97230,527.0,36.0,128.0,0, 89 | KWT,Kuwait,KW,4270571,17820,240.0,29.5,47.75,0, 90 | LAO,Laos,LA,7275560,230800,32.0,19.856270000000002,102.495496,0, 91 | LBN,Lebanon,LB,6825445,10230,667.0,33.8547,35.8623,0, 92 | LBR,Liberia,LR,5057681,96320,53.0,6.4281,-9.4295,0, 93 | LBY,Libya,LY,6871292,1759540,4.0,26.3351,17.228331,0, 94 | LCA,Saint Lucia,LC,183627,610,301.0,13.9094,-60.9789,0, 95 | LIE,Liechtenstein,LI,38128,160,238.0,47.14,9.55,0, 96 | LKA,Sri Lanka,LK,21413249,62710,341.0,7.0,81.0,0, 97 | LTU,Lithuania,LT,2722289,62674,43.0,55.1694,23.8813,0, 98 | LUX,Luxembourg,LU,625978,2590,242.0,49.8153,6.1296,0, 99 | LVA,Latvia,LV,1886198,62200,30.0,56.8796,24.6032,0, 100 | MAR,Morocco,MA,36910560,446300,83.0,31.7917,-7.0926,0, 101 | MCO,Monaco,MC,39242,1,26337.0,43.7333,7.4167,0, 102 | MDA,Moldova,MD,4033963,32850,123.0,47.4116,28.3699,0, 103 | MDG,Madagascar,MG,27691018,581795,48.0,-18.7669,46.8691,0, 104 | MDV,Maldives,MV,540544,300,1802.0,3.2028,73.2207,0, 105 | MEX,Mexico,MX,128932753,1943950,66.0,23.6345,-102.5528,0, 106 | MKD,North Macedonia,MK,2083374,25220,83.0,41.6086,21.7453,0, 107 | MLT,Malta,MT,441543,320,1380.0,35.9375,14.3754,0, 108 | MNE,Montenegro,ME,628066,13450,47.0,42.5,19.3,0, 109 | MNG,Mongolia,MN,3278290,1553560,2.0,46.8625,103.8467,0, 110 | MOZ,Mozambique,MZ,31255435,786380,40.0,-18.665695,35.529562,0, 111 | MRT,Mauritania,MR,4649658,1030700,5.0,21.0079,10.9408,0, 112 | MUS,Mauritius,MU,1271768,2030,626.0,-20.2,57.5,0, 113 | MYS,Malaysia,MY,32365999,328550,99.0,2.5,112.5,0, 114 | NAM,Namibia,,2540905,823290,3.0,-22.9576,18.4904,0, 115 | NER,Niger,NE,24206644,1266700,19.0,17.6078,8.0817,0, 116 | NGA,Nigeria,NG,206139589,910770,226.0,9.082,8.6753,0, 117 | NIC,Nicaragua,NI,6624554,120340,55.0,12.8654,-85.2072,0, 118 | NLD,Netherlands,NL,17134872,33720,508.0,21.40834,-53.005559999999996,0, 119 | NOR,Norway,NO,5421241,365268,15.0,60.472,8.4689,0, 120 | NPL,Nepal,NP,29136808,143350,203.0,28.1667,84.25,0, 121 | NZL,New Zealand,NZ,4822233,263310,18.0,-40.9006,174.886,0, 122 | OMN,Oman,OM,5106626,309500,16.0,21.0,57.0,0, 123 | PAK,Pakistan,PK,220892340,770880,287.0,30.3753,69.3451,0, 124 | PAN,Panama,PA,4314767,74340,58.0,8.538,-80.7821,0, 125 | PER,Peru,PE,32971854,1280000,26.0,-9.19,-75.0152,0, 126 | PHL,Philippines,PH,109581078,298170,368.0,13.0,122.0,0, 127 | PNG,Papua New Guinea,PG,8947024,452860,20.0,-6.315,143.9555,0, 128 | POL,Poland,PL,37846611,306230,124.0,51.9194,19.1451,0, 129 | PRT,Portugal,PT,10196709,91590,111.0,39.3999,-8.2245,0, 130 | PRY,Paraguay,PY,7132538,397300,18.0,-23.4425,-58.4438,0, 131 | QAT,Qatar,QA,2881053,11610,248.0,25.3548,51.1839,0, 132 | ROU,Romania,RO,19237691,230170,84.0,45.9432,24.9668,0, 133 | RU-AD,Republic of Adygeia,,463453,7792,59.48,44.6939006,40.1520421,1,Майкоп 134 | RU-AL,Altay republic,,220140,92903,2.37,50.7114101,86.8572186,1,Горно-Алтайск 135 | RU-ALT,Altayskiy kray,,2317052,167996,13.79,52.693224300000004,82.69314240000001,1,Барнаул 136 | RU-AMU,Amursk oblast,,790676,361908,2.18,52.8032368,128.437295,1,Благовещенск 137 | RU-ARK,Arkhangelsk oblast,,1136387,413103,2.64,63.558969,43.122165,1,Архангельск 138 | RU-AST,Astrahan oblast,,1005967,49024,20.52,47.1878186,47.608851,1,Астрахань 139 | RU-BA,Republic of Bashkortostan,,4037811,142947,28.25,54.4747553,55.97845820000001,1,Уфа 140 | RU-BEL,Belgorod oblast,,1547532,27134,57.03,50.7080119,37.5837615,1,Белгород 141 | RU-BRY,Briansk oblast,,1192570,34857,34.21,52.887331499999995,33.41585300000001,1,Брянск 142 | RU-BU,Republic of Buriatia,,986109,351334,2.81,53.60950465,111.02710087838608,1,Улан-Удэ 143 | RU-CE,Chechen republic,,1476752,16165,91.35,43.39761470000001,45.6985005,1,Грозный 144 | RU-CHE,Cheliabinsk oblast,,3466960,88529,39.15,54.4223954,61.1865846,1,Челябинск 145 | RU-CHU,Chukotskiy autonomous oblast,,50726,721481,0.07,66.0006475,169.4900869,1,Анадырь 146 | RU-CU,Republic of Chuvashia,,1217820,18343,66.39,56.1424308,47.25445429999999,1,Чебоксары 147 | RU-DA,Republic of Dagestan,,3111353,50270,61.89,43.05749160000001,47.1332224,1,Махачкала 148 | RU-IN,Ingushetia republic,,506688,3123,162.24,43.1655309,44.979682000000004,1,Магас 149 | RU-IRK,Irkutsk oblast,,2390827,774846,3.09,56.6370122,104.71922099999999,1,Иркутск 150 | RU-IVA,Ivanovo oblast,,997196,21437,46.52,56.9167446,41.43521370000001,1,Иваново 151 | RU-KAM,Kamchatskiy kray,,312438,464275,0.67,57.191488199999995,160.03838190000005,1,Петропавловск-Камчатский 152 | RU-KB,Republic of Kabardino-Balkaria,,868174,12470,69.62,43.44282860000001,43.4204809,1,Нальчик 153 | RU-KC,Republic of Karachaevo-Cherkessia,,465669,14277,32.61,43.7368326,41.7267991,1,Черкесск 154 | RU-KDA,Krasnodarskiy kray,,5677786,75485,75.22,45.768401399999995,39.0261044,1,Краснодар 155 | RU-KEM,Kemerovo oblast,,2657758,95725,27.76,54.53357809999999,87.342861,1,Кемерово 156 | RU-KGD,Kaliningrad oblast,,1012253,15125,66.93,54.7293041,21.1489473,1,Калининград 157 | RU-KGN,Kurgan oblast,,826941,71488,11.57,55.7655302,64.5632681,1,Курган 158 | RU-KHA,Habarovskiy kray,,1315310,787633,1.67,51.6312684,136.121524,1,Хабаровск 159 | RU-KHM,Hanty-Mansiyskiy AO,,1674086,534801,3.13,60.9451642,76.6442272,1,Ханты-Мансийск 160 | RU-KIR,Kirov oblast,,1262549,120374,10.49,57.9665589,49.4074599,1,Киров 161 | RU-KK,Republic of Hakassia,,534186,61569,8.68,53.4399379,90.0664303,1,Абакан 162 | RU-KL,Republic of Kalmykia,,271035,74731,3.63,46.2313018,45.3275745,1,Элиста 163 | RU-KLU,Kaluga oblast,,1000070,29777,33.59,54.438277299999996,35.5272854,1,Калуга 164 | RU-KO,Komi republic,,820171,416774,1.97,63.9881421,54.3326073,1,Сыктывкар 165 | RU-KOS,Kostroma oblast,,633392,60211,10.52,58.424756,44.253327299999995,1,Кострома 166 | RU-KR,Republic of Karelia,,614628,180520,3.4,62.61940309999999,33.4920267,1,Петрозаводск 167 | RU-KRS,Kursk oblast,,1103059,29997,36.77,51.6568453,36.4852695,1,Курск 168 | RU-KYA,Krasnoyarskiy kray,,2867875,2366797,1.21,63.3233807,97.09799740000001,1,Красноярск 169 | RU-LEN,Leningradskaya oblast,,1876392,83908,22.36,60.185329599999996,32.3925325,1,Санкт-Петербург 170 | RU-LIP,Lipetsk oblast,,1139492,24047,47.39,52.693517799999995,39.112266399999996,1,Липецк 171 | RU-MAG,Magadan oblast,,140199,462464,0.3,63.551502799999994,154.014726,1,Магадан 172 | RU-ME,Republic of Mariy El,,679094,23375,29.05,56.576750399999995,47.881751200000004,1,Йошкар-Ола 173 | RU-MO,Republic of Mordovia,,790829,26128,30.27,54.3376037,44.772922799999996,1,Саранск 174 | RU-MOS,Moscow oblast,,7687647,44329,173.42,55.50431579999999,38.0353929,1,Красногорск 175 | RU-MOW,Moscow,,12692466,2561,4956.06,55.479204599999996,37.3273304,1,Москва 176 | RU-MUR,Murmansk oblast,,741511,144902,5.12,68.00004179999999,33.9999151,1,Мурманск 177 | RU-NEN,Nenetskiy autonomous oblast,,44110,176810,0.25,67.6783253,57.0626853,1,Нарьян-Мар 178 | RU-NGR,Novgorod oblast,,596173,54501,10.94,58.2843833,32.516975699999996,1,Великий Новгород 179 | RU-NIZ,Nizhegorodskaya oblast,,3203818,76624,41.81,55.47180329999999,44.091159399999995,1,Нижний Новгород 180 | RU-NVS,Novosibirsk oblast,,2798251,177756,15.74,54.9720169,79.48139240000002,1,Новосибирск 181 | RU-OMS,Omsk oblast,,1926562,141140,13.65,56.09352629999999,73.5099936,1,Омск 182 | RU-ORE,Orenburg oblast,,1956256,123702,15.81,52.02692620000001,54.7276647,1,Оренбург 183 | RU-ORL,Orel oblast,,733682,24652,29.76,52.839276500000004,36.4251709,1,Орёл 184 | RU-PER,Perm oblast,,2599301,160236,16.22,58.5951603,56.3159546,1,Пермь 185 | RU-PNZ,Pensa oblast,,1304825,43352,30.1,53.1655415,44.78791810000001,1,Пенза 186 | RU-PRI,Primorskiy kray,,1895305,164673,11.51,45.0819456,134.726645,1,Владивосток 187 | RU-PSK,Pskov oblast,,626046,55399,11.3,57.535872899999994,28.8586826,1,Псков 188 | RU-ROS,Rostov oblast,,4195327,100967,41.55,47.6222451,40.7957942,1,Ростов-на-Дону 189 | RU-RYA,Ryazan oblast,,1108924,39605,28.0,54.42267320000001,40.57052460000001,1,Рязань 190 | RU-SA,Saha republic,,970105,3083523,0.31,66.941626,129.642371,1,Якутск 191 | RU-SAK,Sakhalin oblast,,488453,87101,5.61,49.7219665,143.448533,1,Южно-Сахалинск 192 | RU-SAM,Samara oblast,,3179026,53565,59.35,53.2128813,50.8914633,1,Самара 193 | RU-SAR,Saratov oblast,,2421785,101240,23.92,51.652055499999996,46.86319520000001,1,Саратов 194 | RU-SE,Republic of North Osetia - Alania,,697064,7987,87.27,42.79371695,43.91586205969284,1,Владикавказ 195 | RU-SMO,Smolensk oblast,,934747,49779,18.78,55.03434960000001,33.0192065,1,Смоленск 196 | RU-SPE,Saint Petersburg,,5392992,1403,3843.9,59.960673899999996,30.158655100000004,1,Санкт-Петербург 197 | RU-STA,Stavropolskiy kray,,2803021,66160,42.37,44.86325770000001,43.4406913,1,Ставрополь 198 | RU-SVE,Sverdlov oblast,,4310861,194307,22.19,58.6414755,61.802154599999994,1,Екатеринбург 199 | RU-TA,Republic of Tatarstan,,3902642,67847,57.52,55.44821700000001,50.4763591,1,Казань 200 | RU-TAM,Tambov oblast,,1006962,34462,29.22,52.9019574,41.3578918,1,Тамбов 201 | RU-TOM,Tomsk oblast,,1079051,314391,3.43,58.6124279,82.04753149999998,1,Томск 202 | RU-TUL,Tula oblast,,1466025,25679,57.09,53.9570701,37.369090899999996,1,Тула 203 | RU-TVE,Tver oblast,,1260345,84201,14.97,57.1134475,35.174442799999994,1,Тверь 204 | RU-TY,Republic of Tyva,,327388,168604,1.94,51.401714899999995,93.8582593,1,Кызыл 205 | RU-TYU,Tumen oblast,,3755778,160122,9.6,58.820649,70.365884,1,Тюмень 206 | RU-UD,Republic of Udmurtia,,1501005,42061,35.69,57.1961165,52.69598320000001,1,Ижевск 207 | RU-ULY,Ulianovsk oblast,,1229687,37181,33.07,54.146317700000004,47.2324921,1,Ульяновск 208 | RU-VGG,Volgograd oblast,,2491751,112877,22.07,49.604833899999996,44.29035820000001,1,Волгоград 209 | RU-VLA,Vladimir oblast,,1358538,29084,46.71,56.0503336,40.656163299999996,1,Владимир 210 | RU-VLG,Vologda oblast,,1160721,144527,8.02,60.0391461,43.1215213,1,Вологда 211 | RU-VOR,Voronezh oblast,,2323657,52216,44.5,50.9800393,40.15065070000001,1,Воронеж 212 | RU-YAN,Yamalo-Nenetskiy AO,,544008,769250,0.71,67.1471631,74.3415488,1,Салехард 213 | RU-YAR,Yaroslavl oblast,,1253189,36177,34.64,57.77819760000001,39.002109499999996,1,Ярославль 214 | RU-YEV,Jewish Autonomous oblast,,158381,36271,4.37,48.5601613,132.2775662,1,Биробиджан 215 | RU-ZAB,Zabaykalskiy kray,,1059657,431892,2.45,52.248521000000004,115.956325,1,Чита 216 | RUS,Russia,RU,145934462,16376870,9.0,60.0,90.0,0, 217 | RWA,Rwanda,RW,12952218,24670,525.0,-1.9403,29.8739,0, 218 | SAU,Saudi Arabia,SA,34813871,2149690,16.0,24.0,45.0,0, 219 | SDN,Sudan,SD,43849260,1765048,25.0,12.8628,30.2176,0, 220 | SEN,Senegal,SN,16743927,192530,87.0,14.4974,-14.4524,0, 221 | SGP,Singapore,SG,5850342,700,8358.0,1.2833,103.8333,0, 222 | SLV,El Salvador,SV,6486205,20720,313.0,13.7942,-88.8965,0, 223 | SMR,San Marino,SM,33931,60,566.0,43.9424,12.4578,0, 224 | SOM,Somalia,SO,15893222,627340,25.0,5.1521,46.1996,0, 225 | SRB,Serbia,RS,8737371,87460,100.0,44.0165,21.0059,0, 226 | SUR,Suriname,SR,586632,156000,4.0,3.9193,-56.0278,0, 227 | SVK,Slovakia,SK,5459642,48088,114.0,48.669,19.699,0, 228 | SVN,Slovenia,SI,2078938,20140,103.0,46.1512,14.9955,0, 229 | SWE,Sweden,SE,10099265,410340,25.0,63.0,16.0,0, 230 | SWZ,Eswatini,SZ,1160164,17200,67.0,-26.5225,31.4659,0, 231 | SYC,Seychelles,SC,98347,460,214.0,-4.6796,55.492,0, 232 | SYR,Syria,SY,17500658,183630,95.0,34.802075,38.99681500000001,0, 233 | TCD,Chad,TD,16425864,1259200,13.0,15.4542,18.7322,0, 234 | TGO,Togo,TG,8278724,54390,152.0,8.6195,0.8248,0, 235 | THA,Thailand,TH,69799978,510890,137.0,15.0,101.0,0, 236 | TLS,Timor-Leste,TL,1318445,14870,89.0,-8.874217,125.727539,0, 237 | TTO,Trinidad and Tobago,TT,1399488,5130,273.0,10.6918,-61.2225,0, 238 | TUN,Tunisia,TN,11818619,155360,76.0,34.0,9.0,0, 239 | TUR,Turkey,TR,84339067,769630,110.0,38.9637,35.2433,0, 240 | TWN,Taiwan*,TW,23816775,35410,673.0,23.7,121.0,0, 241 | TZA,Tanzania,TZ,59734218,885800,67.0,-6.369,34.8888,0, 242 | UA-40,Sevastopol,,448829,864,519.48,44.6054434,33.5220842,1,Севастополь 243 | UA-43,Republic of Crimea,,1912025,26081,73.31,45.1890034,34.7401104,1,Симферополь 244 | UGA,Uganda,UG,45741007,199810,229.0,1.0,32.0,0, 245 | UKR,Ukraine,UA,43733762,579320,75.0,48.3794,31.1656,0, 246 | URY,Uruguay,UY,3473730,175020,20.0,-32.5228,-55.7658,0, 247 | USA,US,US,331002651,9147420,36.0,37.0902,-95.7129,0, 248 | UZB,Uzbekistan,UZ,33469203,425400,79.0,41.3775,64.5853,0, 249 | VAT,Holy See,VA,801,0,2003.0,41.9029,12.4534,0, 250 | VCT,Saint Vincent and the Grenadines,VC,110940,390,284.0,12.9843,-61.2872,0, 251 | VEN,Venezuela,VE,28435940,882050,32.0,6.4238,-66.5897,0, 252 | VNM,Vietnam,VN,97338579,310070,314.0,16.0,108.0,0, 253 | ZAF,South Africa,ZA,59308690,1213090,49.0,-30.5595,22.9375,0, 254 | ZMB,Zambia,ZM,18383955,743390,25.0,-15.4167,28.2833,0, 255 | ZWE,Zimbabwe,ZW,14862924,386850,38.0,-20.0,30.0,0, 256 | -------------------------------------------------------------------------------- /notebooks/parsers/TopologyVec.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "code", 22 | "execution_count": 2, 23 | "metadata": {}, 24 | "outputs": [], 25 | "source": [ 26 | "import numpy as np\n", 27 | "import pandas as pd" 28 | ] 29 | }, 30 | { 31 | "cell_type": "code", 32 | "execution_count": 3, 33 | "metadata": {}, 34 | "outputs": [ 35 | { 36 | "data": { 37 | "text/html": [ 38 | "
\n", 39 | "\n", 52 | "\n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | " \n", 97 | " \n", 98 | " \n", 99 | "
CityRegionFeatureVectorGlobalRegionFeatureVectorGlobal
0ЖердевкаRU-TAM[0.42070268, 0.08929207, 0.13081052, 0.3453055...[0.3632250641166429, 0.0754754951122764, 0.092...
1УсинскRU-KO[0.361566081, 0.214654864, 0.230622592, 0.3064...[0.3550156410823592, 0.12492862473656212, 0.14...
2ЧумиканRU-NVS[0.41020059, 0.0, 0.0, 0.0, 0.0, 0.4926865, 0....[0.3855945158075501, 0.055935850715607985, 0.0...
3ЮгорскRU-KHM[0.39298317, 0.04778491, 0.17682518, 0.3054563...[0.34216139363004183, 0.07921267588526748, 0.1...
4НовосокольникиRU-PSK[0.335364739, 0.0, 0.0, 0.226185878, 0.2419435...[0.367303909009541, 0.018280402384952755, 0.02...
\n", 100 | "
" 101 | ], 102 | "text/plain": [ 103 | " City Region FeatureVectorGlobal \\\n", 104 | "0 Жердевка RU-TAM [0.42070268, 0.08929207, 0.13081052, 0.3453055... \n", 105 | "1 Усинск RU-KO [0.361566081, 0.214654864, 0.230622592, 0.3064... \n", 106 | "2 Чумикан RU-NVS [0.41020059, 0.0, 0.0, 0.0, 0.0, 0.4926865, 0.... \n", 107 | "3 Югорск RU-KHM [0.39298317, 0.04778491, 0.17682518, 0.3054563... \n", 108 | "4 Новосокольники RU-PSK [0.335364739, 0.0, 0.0, 0.226185878, 0.2419435... \n", 109 | "\n", 110 | " RegionFeatureVectorGlobal \n", 111 | "0 [0.3632250641166429, 0.0754754951122764, 0.092... \n", 112 | "1 [0.3550156410823592, 0.12492862473656212, 0.14... \n", 113 | "2 [0.3855945158075501, 0.055935850715607985, 0.0... \n", 114 | "3 [0.34216139363004183, 0.07921267588526748, 0.1... \n", 115 | "4 [0.367303909009541, 0.018280402384952755, 0.02... " 116 | ] 117 | }, 118 | "execution_count": 3, 119 | "metadata": {}, 120 | "output_type": "execute_result" 121 | } 122 | ], 123 | "source": [ 124 | "url = 'https://raw.githubusercontent.com/ods-ai-ml4sg/covid19-tutu/master/data/Covid-19-tutu-Region-Vectors.csv'\n", 125 | "region_vec = pd.read_csv(url, sep=';', index_col=0)\n", 126 | "\n", 127 | "region_vec['Region'] = region_vec['Region'].replace({\n", 128 | " 'Adygea': 'RU-AD',\n", 129 | " 'Altai': 'RU-ALT',\n", 130 | " 'Amur': 'RU-AMU',\n", 131 | " 'Arkhangelsk': 'RU-ARK',\n", 132 | " 'Astrakhan': 'RU-AST',\n", 133 | " 'Bashkortostan': 'RU-BA',\n", 134 | " 'Belgorod': 'RU-BEL',\n", 135 | " 'Bryansk': 'RU-BRY',\n", 136 | " 'Buryat': 'RU-BU',\n", 137 | " 'Chechnya': 'RU-CE',\n", 138 | " 'Chelyabinsk': 'RU-CHE',\n", 139 | " 'Chukotka': 'RU-CHU',\n", 140 | " 'Chuvash': 'RU-CU',\n", 141 | " 'Crimea': 'UA-43',\n", 142 | " 'Dagestan': 'RU-DA',\n", 143 | " 'Gorno-Altay': 'RU-AL',\n", 144 | " 'Irkutsk': 'RU-IRK',\n", 145 | " 'Ivanovo': 'RU-IVA',\n", 146 | " 'Kabardino-Balkar': 'RU-KB',\n", 147 | " 'Kaliningrad': 'RU-KGD',\n", 148 | " 'Kalmykia': 'RU-KL',\n", 149 | " 'Kaluga': 'RU-KLU',\n", 150 | " 'Kamchatka': 'RU-KAM',\n", 151 | " 'Karelia': 'RU-KR',\n", 152 | " 'Kemerovo': 'RU-KEM',\n", 153 | " 'Khabarovsk': 'RU-KHA',\n", 154 | " 'Khakassia': 'RU-KK',\n", 155 | " 'Khanty-Mansi': 'RU-KHM',\n", 156 | " 'Kirov': 'RU-KIR',\n", 157 | " 'Komi': 'RU-KO',\n", 158 | " 'Kostroma': 'RU-KOS',\n", 159 | " 'Krasnodar': 'RU-KDA',\n", 160 | " 'Krasnoyarsk': 'RU-KYA',\n", 161 | " 'Kurgan': 'RU-KGN',\n", 162 | " 'Kursk': 'RU-KRS',\n", 163 | " 'Leningrad': 'RU-LEN',\n", 164 | " 'Lipetsk': 'RU-LIP',\n", 165 | " 'Magadan': 'RU-MAG',\n", 166 | " 'Mari El': 'RU-ME',\n", 167 | " 'Mordovia': 'RU-MO',\n", 168 | " 'Moscow City': 'RU-MOW',\n", 169 | " 'Moscow Oblast': 'RU-MOS',\n", 170 | " 'Murmansk': 'RU-MUR',\n", 171 | " 'Nenets': 'RU-NEN',\n", 172 | " 'Nizhny Novgorod': 'RU-NIZ',\n", 173 | " 'North Ossetia-Alania': 'RU-SE',\n", 174 | " 'Novgorod': 'RU-NGR',\n", 175 | " 'Novosibirsk': 'RU-NVS',\n", 176 | " 'Omsk': 'RU-OMS',\n", 177 | " 'Orenburg': 'RU-ORE',\n", 178 | " 'Oryol': 'RU-ORL',\n", 179 | " 'Penza': 'RU-PNZ',\n", 180 | " 'Perm': 'RU-PER',\n", 181 | " 'Primorsky': 'RU-PRI',\n", 182 | " 'Pskov': 'RU-PSK',\n", 183 | " 'Rostov': 'RU-ROS',\n", 184 | " 'Ryazan': 'RU-RYA',\n", 185 | " 'Saint Petersburg': 'RU-SPE',\n", 186 | " 'Sakha': 'RU-SA',\n", 187 | " 'Sakhalin': 'RU-SAK',\n", 188 | " 'Samara': 'RU-SAM',\n", 189 | " 'Saratov': 'RU-SAR',\n", 190 | " 'Smolensk': 'RU-SMO',\n", 191 | " 'Stavropol': 'RU-STA',\n", 192 | " 'Sverdlovsk': 'RU-SVE',\n", 193 | " 'Tambov': 'RU-TAM',\n", 194 | " 'Tatarstan': 'RU-TA',\n", 195 | " 'Tomsk': 'RU-TOM',\n", 196 | " 'Tula': 'RU-TUL',\n", 197 | " 'Tuva': 'RU-TY',\n", 198 | " 'Tver': 'RU-TVE',\n", 199 | " 'Tyumen': 'RU-TYU',\n", 200 | " 'Udmurt': 'RU-UD',\n", 201 | " 'Ulyanovsk': 'RU-ULY',\n", 202 | " 'Vladimir': 'RU-VLA',\n", 203 | " 'Volgograd': 'RU-VGG',\n", 204 | " 'Vologda': 'RU-VLG',\n", 205 | " 'Voronezh': 'RU-VOR',\n", 206 | " 'Yamalo-Nenets': 'RU-YAN',\n", 207 | " 'Yaroslavl': 'RU-YAR',\n", 208 | " 'Yevrey': 'RU-YEV',\n", 209 | " 'Zabaykalsky': 'RU-ZAB',\n", 210 | "})\n", 211 | "\n", 212 | "region_vec = region_vec.dropna()\n", 213 | "region_vec = region_vec[region_vec['Region'].str.startswith('RU-') | region_vec['Region'].str.startswith('UA-')]\n", 214 | "region_vec = region_vec.reset_index(drop=True).drop(columns=['County'])\n", 215 | "\n", 216 | "def read_numpy(x, sep=' '):\n", 217 | " return np.fromstring(x.replace('\\n','').replace('[','').replace(']','').replace(' ',' '), sep=sep)\n", 218 | "\n", 219 | "region_vec['FeatureVectorGlobal'] = region_vec['FeatureVectorGlobal'].apply(read_numpy)\n", 220 | "region_vec['RegionFeatureVectorGlobal'] = region_vec['RegionFeatureVectorGlobal'].apply(lambda x: read_numpy(x, sep=','))\n", 221 | "\n", 222 | "region_vec.head()" 223 | ] 224 | }, 225 | { 226 | "cell_type": "code", 227 | "execution_count": 4, 228 | "metadata": {}, 229 | "outputs": [], 230 | "source": [ 231 | "global_feature_vec = region_vec.groupby('Region')['FeatureVectorGlobal'].apply(lambda x: np.mean(x))\n", 232 | "region_feature_vec = region_vec.groupby('Region')['RegionFeatureVectorGlobal'].apply(lambda x: np.mean(x))\n", 233 | "\n", 234 | "global_feature_vec = pd.DataFrame(\n", 235 | " np.stack(global_feature_vec.values),\n", 236 | " index=global_feature_vec.index, \n", 237 | " columns=[f'global_vec_{i}' for i in range(len(global_feature_vec[0]))]\n", 238 | ")\n", 239 | "\n", 240 | "region_feature_vec = pd.DataFrame(\n", 241 | " np.stack(region_feature_vec.values),\n", 242 | " index=region_feature_vec.index, \n", 243 | " columns=[f'region_vec_{i}' for i in range(len(region_feature_vec[0]))]\n", 244 | ")" 245 | ] 246 | }, 247 | { 248 | "cell_type": "code", 249 | "execution_count": 5, 250 | "metadata": {}, 251 | "outputs": [ 252 | { 253 | "data": { 254 | "text/html": [ 255 | "
\n", 256 | "\n", 269 | "\n", 270 | " \n", 271 | " \n", 272 | " \n", 273 | " \n", 274 | " \n", 275 | " \n", 276 | " \n", 277 | " \n", 278 | " \n", 279 | " \n", 280 | " \n", 281 | " \n", 282 | " \n", 283 | " \n", 284 | " \n", 285 | " \n", 286 | " \n", 287 | " \n", 288 | " \n", 289 | " \n", 290 | " \n", 291 | " \n", 292 | " \n", 293 | " \n", 294 | " \n", 295 | " \n", 296 | " \n", 297 | " \n", 298 | " \n", 299 | " \n", 300 | " \n", 301 | " \n", 302 | " \n", 303 | " \n", 304 | " \n", 305 | " \n", 306 | " \n", 307 | " \n", 308 | " \n", 309 | " \n", 310 | " \n", 311 | " \n", 312 | " \n", 313 | " \n", 314 | " \n", 315 | " \n", 316 | " \n", 317 | " \n", 318 | " \n", 319 | " \n", 320 | " \n", 321 | " \n", 322 | " \n", 323 | " \n", 324 | " \n", 325 | " \n", 326 | " \n", 327 | " \n", 328 | " \n", 329 | " \n", 330 | " \n", 331 | " \n", 332 | " \n", 333 | " \n", 334 | " \n", 335 | " \n", 336 | " \n", 337 | " \n", 338 | " \n", 339 | " \n", 340 | " \n", 341 | " \n", 342 | " \n", 343 | " \n", 344 | " \n", 345 | " \n", 346 | " \n", 347 | " \n", 348 | " \n", 349 | " \n", 350 | " \n", 351 | " \n", 352 | " \n", 353 | " \n", 354 | " \n", 355 | " \n", 356 | " \n", 357 | " \n", 358 | " \n", 359 | " \n", 360 | " \n", 361 | " \n", 362 | " \n", 363 | " \n", 364 | " \n", 365 | " \n", 366 | " \n", 367 | " \n", 368 | " \n", 369 | " \n", 370 | " \n", 371 | " \n", 372 | " \n", 373 | " \n", 374 | " \n", 375 | " \n", 376 | " \n", 377 | " \n", 378 | " \n", 379 | " \n", 380 | " \n", 381 | " \n", 382 | " \n", 383 | " \n", 384 | " \n", 385 | " \n", 386 | " \n", 387 | " \n", 388 | " \n", 389 | " \n", 390 | " \n", 391 | " \n", 392 | " \n", 393 | " \n", 394 | " \n", 395 | " \n", 396 | " \n", 397 | " \n", 398 | " \n", 399 | " \n", 400 | " \n", 401 | " \n", 402 | " \n", 403 | " \n", 404 | " \n", 405 | " \n", 406 | " \n", 407 | " \n", 408 | " \n", 409 | " \n", 410 | " \n", 411 | " \n", 412 | " \n", 413 | " \n", 414 | " \n", 415 | " \n", 416 | " \n", 417 | " \n", 418 | " \n", 419 | " \n", 420 | " \n", 421 | " \n", 422 | " \n", 423 | " \n", 424 | " \n", 425 | " \n", 426 | " \n", 427 | " \n", 428 | " \n", 429 | " \n", 430 | " \n", 431 | " \n", 432 | " \n", 433 | " \n", 434 | " \n", 435 | " \n", 436 | " \n", 437 | " \n", 438 | " \n", 439 | " \n", 440 | " \n", 441 | " \n", 442 | "
global_vec_0global_vec_1global_vec_2global_vec_3global_vec_4global_vec_5global_vec_6global_vec_7global_vec_8global_vec_9...region_vec_18region_vec_19region_vec_20region_vec_21region_vec_22region_vec_23region_vec_24region_vec_25region_vec_26region_vec_27
Region
RU-AL0.0000000.0000000.0000000.4528190.0000000.7021970.0000000.5490300.0000000.000000...0.0000000.0000000.5070600.0000000.0772860.4036000.3114780.4599381.2493770.857575
RU-ALT0.4844350.0896530.1135070.3704410.1681380.3833600.2836290.2563720.0452180.339982...0.2536550.3115950.1558690.1076330.0581220.1735400.1733040.2349570.5510480.255698
RU-AMU0.3941850.1348470.1689280.3195040.2794850.4087460.2686160.2806600.1103010.428014...0.2478970.0273530.0033310.0935860.0000000.0000000.3443780.0599000.1973580.024041
RU-ARK0.3821240.0772480.1082030.2655380.2792290.4490930.2254330.1868540.0752660.527861...0.1732170.0368210.0145610.0231810.0030090.0607000.3749350.0747950.2816500.034885
RU-AST0.2929620.0449750.0950470.3528860.1782170.5200380.1879930.3736790.0504670.333248...0.3573170.2675320.1490670.1370980.0193230.1677610.2177170.1764530.4467620.273117
\n", 443 | "

5 rows × 56 columns

\n", 444 | "
" 445 | ], 446 | "text/plain": [ 447 | " global_vec_0 global_vec_1 global_vec_2 global_vec_3 global_vec_4 \\\n", 448 | "Region \n", 449 | "RU-AL 0.000000 0.000000 0.000000 0.452819 0.000000 \n", 450 | "RU-ALT 0.484435 0.089653 0.113507 0.370441 0.168138 \n", 451 | "RU-AMU 0.394185 0.134847 0.168928 0.319504 0.279485 \n", 452 | "RU-ARK 0.382124 0.077248 0.108203 0.265538 0.279229 \n", 453 | "RU-AST 0.292962 0.044975 0.095047 0.352886 0.178217 \n", 454 | "\n", 455 | " global_vec_5 global_vec_6 global_vec_7 global_vec_8 global_vec_9 \\\n", 456 | "Region \n", 457 | "RU-AL 0.702197 0.000000 0.549030 0.000000 0.000000 \n", 458 | "RU-ALT 0.383360 0.283629 0.256372 0.045218 0.339982 \n", 459 | "RU-AMU 0.408746 0.268616 0.280660 0.110301 0.428014 \n", 460 | "RU-ARK 0.449093 0.225433 0.186854 0.075266 0.527861 \n", 461 | "RU-AST 0.520038 0.187993 0.373679 0.050467 0.333248 \n", 462 | "\n", 463 | " ... region_vec_18 region_vec_19 region_vec_20 region_vec_21 \\\n", 464 | "Region ... \n", 465 | "RU-AL ... 0.000000 0.000000 0.507060 0.000000 \n", 466 | "RU-ALT ... 0.253655 0.311595 0.155869 0.107633 \n", 467 | "RU-AMU ... 0.247897 0.027353 0.003331 0.093586 \n", 468 | "RU-ARK ... 0.173217 0.036821 0.014561 0.023181 \n", 469 | "RU-AST ... 0.357317 0.267532 0.149067 0.137098 \n", 470 | "\n", 471 | " region_vec_22 region_vec_23 region_vec_24 region_vec_25 \\\n", 472 | "Region \n", 473 | "RU-AL 0.077286 0.403600 0.311478 0.459938 \n", 474 | "RU-ALT 0.058122 0.173540 0.173304 0.234957 \n", 475 | "RU-AMU 0.000000 0.000000 0.344378 0.059900 \n", 476 | "RU-ARK 0.003009 0.060700 0.374935 0.074795 \n", 477 | "RU-AST 0.019323 0.167761 0.217717 0.176453 \n", 478 | "\n", 479 | " region_vec_26 region_vec_27 \n", 480 | "Region \n", 481 | "RU-AL 1.249377 0.857575 \n", 482 | "RU-ALT 0.551048 0.255698 \n", 483 | "RU-AMU 0.197358 0.024041 \n", 484 | "RU-ARK 0.281650 0.034885 \n", 485 | "RU-AST 0.446762 0.273117 \n", 486 | "\n", 487 | "[5 rows x 56 columns]" 488 | ] 489 | }, 490 | "execution_count": 5, 491 | "metadata": {}, 492 | "output_type": "execute_result" 493 | } 494 | ], 495 | "source": [ 496 | "ru_regions_vec = global_feature_vec.join(region_feature_vec)\n", 497 | "ru_regions_vec.to_csv('data/regions_ru_vec.csv')\n", 498 | "ru_regions_vec.head()" 499 | ] 500 | } 501 | ], 502 | "metadata": { 503 | "kernelspec": { 504 | "display_name": "Python 3", 505 | "language": "python", 506 | "name": "python3" 507 | }, 508 | "language_info": { 509 | "codemirror_mode": { 510 | "name": "ipython", 511 | "version": 3 512 | }, 513 | "file_extension": ".py", 514 | "mimetype": "text/x-python", 515 | "name": "python", 516 | "nbconvert_exporter": "python", 517 | "pygments_lexer": "ipython3", 518 | "version": "3.6.10" 519 | } 520 | }, 521 | "nbformat": 4, 522 | "nbformat_minor": 4 523 | } 524 | -------------------------------------------------------------------------------- /notebooks/models/SimpleWeek2.ipynb: -------------------------------------------------------------------------------- 1 | { 2 | "cells": [ 3 | { 4 | "cell_type": "code", 5 | "execution_count": 1, 6 | "metadata": {}, 7 | "outputs": [ 8 | { 9 | "name": "stdout", 10 | "output_type": "stream", 11 | "text": [ 12 | "/home/tyz910/src/sberbank-covid19\n" 13 | ] 14 | } 15 | ], 16 | "source": [ 17 | "cd '../..'" 18 | ] 19 | }, 20 | { 21 | "cell_type": "markdown", 22 | "metadata": {}, 23 | "source": [ 24 | "# Самое простое решение для топ 3 второй недели" 25 | ] 26 | }, 27 | { 28 | "cell_type": "code", 29 | "execution_count": 2, 30 | "metadata": {}, 31 | "outputs": [ 32 | { 33 | "data": { 34 | "text/html": [ 35 | "
\n", 36 | "\n", 49 | "\n", 50 | " \n", 51 | " \n", 52 | " \n", 53 | " \n", 54 | " \n", 55 | " \n", 56 | " \n", 57 | " \n", 58 | " \n", 59 | " \n", 60 | " \n", 61 | " \n", 62 | " \n", 63 | " \n", 64 | " \n", 65 | " \n", 66 | " \n", 67 | " \n", 68 | " \n", 69 | " \n", 70 | " \n", 71 | " \n", 72 | " \n", 73 | " \n", 74 | " \n", 75 | " \n", 76 | " \n", 77 | " \n", 78 | " \n", 79 | " \n", 80 | " \n", 81 | " \n", 82 | " \n", 83 | " \n", 84 | " \n", 85 | " \n", 86 | " \n", 87 | " \n", 88 | " \n", 89 | " \n", 90 | " \n", 91 | " \n", 92 | " \n", 93 | " \n", 94 | " \n", 95 | " \n", 96 | "
datecountryconfirmeddeaths
02020-04-19RU-AD912
12020-04-19RU-AL20
22020-04-19RU-ALT720
32020-04-19RU-AMU160
42020-04-19RU-ARK1070
\n", 97 | "
" 98 | ], 99 | "text/plain": [ 100 | " date country confirmed deaths\n", 101 | "0 2020-04-19 RU-AD 91 2\n", 102 | "1 2020-04-19 RU-AL 2 0\n", 103 | "2 2020-04-19 RU-ALT 72 0\n", 104 | "3 2020-04-19 RU-AMU 16 0\n", 105 | "4 2020-04-19 RU-ARK 107 0" 106 | ] 107 | }, 108 | "execution_count": 2, 109 | "metadata": {}, 110 | "output_type": "execute_result" 111 | } 112 | ], 113 | "source": [ 114 | "import numpy as np\n", 115 | "import pandas as pd\n", 116 | "\n", 117 | "train = pd.read_csv('data/week2/train.csv', parse_dates=['date'])\n", 118 | "train.head()" 119 | ] 120 | }, 121 | { 122 | "cell_type": "markdown", 123 | "metadata": {}, 124 | "source": [ 125 | "# Так епта бля.. тут у нас данных мало, коронавирус, хуе-мое, ну вроде растет, но если мы тупа в 2 раза умножим к концу недели, то скор на валидации становится... тааак, падажжи ебана\n", 126 | "\n", 127 | "![](../../data/week2/epta.jpg)" 128 | ] 129 | }, 130 | { 131 | "cell_type": "code", 132 | "execution_count": 3, 133 | "metadata": {}, 134 | "outputs": [ 135 | { 136 | "data": { 137 | "text/plain": [ 138 | "" 139 | ] 140 | }, 141 | "execution_count": 3, 142 | "metadata": {}, 143 | "output_type": "execute_result" 144 | }, 145 | { 146 | "data": { 147 | "image/png": "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\n", 148 | "text/plain": [ 149 | "
" 150 | ] 151 | }, 152 | "metadata": { 153 | "needs_background": "light" 154 | }, 155 | "output_type": "display_data" 156 | } 157 | ], 158 | "source": [ 159 | "preds = pd.DataFrame()\n", 160 | "\n", 161 | "for day, mul in enumerate(np.linspace(1.0, 2.0, 8)[1:], 1):\n", 162 | " preds = preds.append(pd.DataFrame({\n", 163 | " 'date': train['date'].max() + pd.to_timedelta(day, 'd'),\n", 164 | " 'country': train['country'],\n", 165 | " 'prediction_confirmed': train['confirmed'] * mul,\n", 166 | " 'prediction_deaths': train['deaths'] * mul,\n", 167 | " }), ignore_index=True)\n", 168 | "\n", 169 | "country = 'RU-MOW'\n", 170 | "preds[preds['country'] == country].set_index('date')[['prediction_confirmed']].plot(title=country)" 171 | ] 172 | }, 173 | { 174 | "cell_type": "code", 175 | "execution_count": 4, 176 | "metadata": {}, 177 | "outputs": [ 178 | { 179 | "data": { 180 | "text/plain": [ 181 | "0.49515339458015156" 182 | ] 183 | }, 184 | "execution_count": 4, 185 | "metadata": {}, 186 | "output_type": "execute_result" 187 | } 188 | ], 189 | "source": [ 190 | "validate = pd.read_csv('data/week2/validate.csv', parse_dates=['date'])\n", 191 | "\n", 192 | "data = pd.merge(preds, validate, on=['date', 'country'])\n", 193 | "data['score'] = np.log10((data['confirmed'] + 1.0) / (data['prediction_confirmed'] + 1.0)).abs()\n", 194 | "data.groupby('date')['score'].mean().sum()" 195 | ] 196 | } 197 | ], 198 | "metadata": { 199 | "kernelspec": { 200 | "display_name": "Python 3", 201 | "language": "python", 202 | "name": "python3" 203 | }, 204 | "language_info": { 205 | "codemirror_mode": { 206 | "name": "ipython", 207 | "version": 3 208 | }, 209 | "file_extension": ".py", 210 | "mimetype": "text/x-python", 211 | "name": "python", 212 | "nbconvert_exporter": "python", 213 | "pygments_lexer": "ipython3", 214 | "version": "3.6.10" 215 | } 216 | }, 217 | "nbformat": 4, 218 | "nbformat_minor": 4 219 | } 220 | -------------------------------------------------------------------------------- /data/time_series/deaths_ru.csv: -------------------------------------------------------------------------------- 1 | UID,iso2,iso3,code3,FIPS,Admin2,Province_State,Country_Region,Lat,Long_,Combined_Key,01/22/20,01/23/20,01/24/20,01/25/20,01/26/20,01/27/20,01/28/20,01/29/20,01/30/20,01/31/20,02/01/20,02/02/20,02/03/20,02/04/20,02/05/20,02/06/20,02/07/20,02/08/20,02/09/20,02/10/20,02/11/20,02/12/20,02/13/20,02/14/20,02/15/20,02/16/20,02/17/20,02/18/20,02/19/20,02/20/20,02/21/20,02/22/20,02/23/20,02/24/20,02/25/20,02/26/20,02/27/20,02/28/20,02/29/20,03/01/20,03/02/20,03/03/20,03/04/20,03/05/20,03/06/20,03/07/20,03/08/20,03/09/20,03/10/20,03/11/20,03/12/20,03/13/20,03/14/20,03/15/20,03/16/20,03/17/20,03/18/20,03/19/20,03/20/20,03/21/20,03/22/20,03/23/20,03/24/20,03/25/20,03/26/20,03/27/20,03/28/20,03/29/20,03/30/20,03/31/20,04/01/20,04/02/20,04/03/20,04/04/20,04/05/20,04/06/20,04/07/20,04/08/20,04/09/20,04/10/20,04/11/20,04/12/20,04/13/20,04/14/20,04/15/20,04/16/20,04/17/20,04/18/20,04/19/20,04/20/20,04/21/20,04/22/20,04/23/20,04/24/20,04/25/20,04/26/20,04/27/20,04/28/20 2 | ,,,,,,Altayskiy kray,Russia,52.129671,82.530013,"Altayskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,1 3 | ,,,,,,Amursk oblast,Russia,53.413341,127.72806399999999,"Amursk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 4 | ,,,,,,Arkhangelsk oblast,Russia,64,44,"Arkhangelsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1 5 | ,,,,,,Astrahan oblast,Russia,46.851463,47.466189,"Astrahan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,3,3,3,3,3,3,3,3,3,4,4,4,4 6 | ,,,,,,Belgorod oblast,Russia,50.61074,36.58015,"Belgorod oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,3 7 | ,,,,,,Briansk oblast,Russia,53.25209,34.37167,"Briansk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,2,2,2,3,4,4 8 | ,,,,,,Vladimir oblast,Russia,55.904194999999994,40.898894,"Vladimir oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,5,5,5,5,5,5,5,5,5,5,5,5,5 9 | ,,,,,,Volgograd oblast,Russia,48.719390000000004,44.50183,"Volgograd oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,3,5,6,8,8 10 | ,,,,,,Vologda oblast,Russia,59.535619,38.817766999999996,"Vologda oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 11 | ,,,,,,Voronezh oblast,Russia,51.67204,39.1843,"Voronezh oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,5,5,5,6,7,7,7,8,8,8,8 12 | ,,,,,,Jewish Autonomous oblast,Russia,48.522902,132.25761200000002,"Jewish Autonomous oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 13 | ,,,,,,Zabaykalskiy kray,Russia,52,117,"Zabaykalskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 14 | ,,,,,,Ivanovo oblast,Russia,56.99719,40.97139,"Ivanovo oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2 15 | ,,,,,,Irkutsk oblast,Russia,57.10029399999999,106.36330500000001,"Irkutsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3,3,4,4,4 16 | ,,,,,,Republic of Kabardino-Balkaria,Russia,43.355,42.439170000000004,"Republic of Kabardino-Balkaria,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1 17 | ,,,,,,Kaliningrad oblast,Russia,54.70649,20.51095,"Kaliningrad oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3 18 | ,,,,,,Kaluga oblast,Russia,54.5293,36.275420000000004,"Kaluga oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,4,6,8,8,8,8,8,8,12 19 | ,,,,,,Kamchatskiy kray,Russia,61.350179000000004,169.782981,"Kamchatskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 20 | ,,,,,,Republic of Karachaevo-Cherkessia,Russia,43.770947,41.753928,"Republic of Karachaevo-Cherkessia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2 21 | ,,,,,,Kemerovo oblast,Russia,55.333330000000004,86.08333,"Kemerovo oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2 22 | ,,,,,,Kirov oblast,Russia,58.59665,49.660070000000005,"Kirov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,3,3,3,3,3,3,3 23 | ,,,,,,Kostroma oblast,Russia,58.456003,43.788495000000005,"Kostroma oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3,3 24 | ,,,,,,Krasnodarskiy kray,Russia,44.98811,38.97675,"Krasnodarskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,3,3,3,3,3,3,3,4,5,8,8,11,14,16,18,19,19,19 25 | ,,,,,,Krasnoyarskiy kray,Russia,58,93,"Krasnoyarskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,5,5,5,5,5,7 26 | ,,,,,,Kurgan oblast,Russia,55.45,65.33333,"Kurgan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 27 | ,,,,,,Kursk oblast,Russia,51.535008000000005,36.121347,"Kursk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,3,3,3,3,4,4,4,4 28 | ,,,,,,Leningradskaya oblast,Russia,60,32,"Leningradskaya oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 29 | ,,,,,,Lipetsk oblast,Russia,52.60311,39.57076,"Lipetsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,4 30 | ,,,,,,Magadan oblast,Russia,62.575815000000006,154.036835,"Magadan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2 31 | ,,,,,,Moscow,Russia,55.752219999999994,37.615559999999995,"Moscow,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,5,6,6,11,16,19,20,27,29,29,31,31,38,50,58,72,82,95,106,113,127,148,176,204,233,261,288,325,366,404,435,479 32 | ,,,,,,Moscow oblast,Russia,55.81363,36.71631,"Moscow oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,3,8,10,13,13,14,18,19,24,26,33,40,40,49,49,49,56,56,66,69,71,71,74 33 | ,,,,,,Murmansk oblast,Russia,68.97917,33.09251,"Murmansk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,3,3,3,3,3,4,4,4,4,4 34 | ,,,,,,Nenetskiy autonomous oblast,Russia,67.714212,54.365062,"Nenetskiy autonomous oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 35 | ,,,,,,Nizhegorodskaya oblast,Russia,56.328669999999995,44.00205,"Nizhegorodskaya oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,4,4,4,4,4,4,4,5,5,6,7,8,8,8,9,9 36 | ,,,,,,Novgorod oblast,Russia,56.328669999999995,44.00205,"Novgorod oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2 37 | ,,,,,,Novosibirsk oblast,Russia,55.0415,82.9346,"Novosibirsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,3,3,4,4,4,4,4,4,4,4 38 | ,,,,,,Omsk oblast,Russia,56.103472,73.34441600000001,"Omsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,1,1 39 | ,,,,,,Orenburg oblast,Russia,51.7727,55.0988,"Orenburg oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2 40 | ,,,,,,Orel oblast,Russia,52.96508000000001,36.07849,"Orel oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,2,2,2,2,2 41 | ,,,,,,Pensa oblast,Russia,53.20066,45.00464,"Pensa oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,5,5,5,5,5,5,6,6,6,7 42 | ,,,,,,Perm oblast,Russia,58.010459999999995,56.25017,"Perm oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,4 43 | ,,,,,,Primorskiy kray,Russia,45,135,"Primorskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,3,3,3 44 | ,,,,,,Pskov oblast,Russia,57.8136,28.3496,"Pskov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,4,4,4,6,6,6,6,6,6,6,6,7,8,8 45 | ,,,,,,Republic of Adygeia,Russia,44.429866,40.252969,"Republic of Adygeia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,3,3,3,3,3,3,3 46 | ,,,,,,Altay republic,Russia,50.73624,87.015454,"Altay republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 47 | ,,,,,,Republic of Bashkortostan,Russia,54,56,"Republic of Bashkortostan,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,5,5,8,8,10,14,14,14,14,14,14,14,14,14 48 | ,,,,,,Republic of Buriatia,Russia,54.54,112.348699,"Republic of Buriatia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2 49 | ,,,,,,Republic of Dagestan,Russia,42.26,47.095742,"Republic of Dagestan,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,6,9,9,9,9,11,11,11,11,11,11,11,11 50 | ,,,,,,Ingushetia republic,Russia,43.103590000000004,45.054581,"Ingushetia republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,2,4,5,5,9,12,13,13,13,13,17,18 51 | ,,,,,,Republic of Kalmykia,Russia,46.414024,45.325701,"Republic of Kalmykia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,3,3,3,3,3,3,3,3 52 | ,,,,,,Republic of Karelia,Russia,63.621324,33.232608,"Republic of Karelia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 53 | ,,,,,,Komi republic,Russia,64,54,"Komi republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,3,4,4,4,4,5,5,5 54 | ,,,,,,Republic of Crimea,Russia,45,34,"Republic of Crimea,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 55 | ,,,,,,Republic of Mariy El,Russia,56.485739,48.197858000000004,"Republic of Mariy El,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,3,3,3 56 | ,,,,,,Republic of Mordovia,Russia,54.2,44.319669,"Republic of Mordovia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,2,2,2,2,2 57 | ,,,,,,Saha republic,Russia,62.30161,32.685359999999996,"Saha republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1 58 | ,,,,,,Republic of North Osetia - Alania,Russia,43.092669,44.262033,"Republic of North Osetia - Alania,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2,2 59 | ,,,,,,Republic of Tatarstan,Russia,55.333330000000004,51,"Republic of Tatarstan,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 60 | ,,,,,,Republic of Tyva,Russia,51.584332,94.79308499999999,"Republic of Tyva,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 61 | ,,,,,,Republic of Hakassia,Russia,53.715559999999996,91.42917,"Republic of Hakassia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,7 62 | ,,,,,,Republic of Chuvashia,Russia,56.13222,47.251940000000005,"Republic of Chuvashia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,5,5,5,5,7,8,8,8 63 | ,,,,,,Rostov oblast,Russia,47.23135,39.723279999999995,"Rostov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2 64 | ,,,,,,Ryazan oblast,Russia,54.6269,39.6916,"Ryazan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3 65 | ,,,,,,Samara oblast,Russia,53.20007,50.15,"Samara oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,5 66 | ,,,,,,Saint Petersburg,Russia,59.93863,30.31413,"Saint Petersburg,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,2,4,4,4,4,4,4,5,7,7,8,8,8,11,14,17,20,23,27,27,27 67 | ,,,,,,Saratov oblast,Russia,51.54056,46.00861,"Saratov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2 68 | ,,,,,,Sakhalin oblast,Russia,50.150926,142.750797,"Sakhalin oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 69 | ,,,,,,Sverdlov oblast,Russia,43.25,71.75,"Sverdlov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1 70 | ,,,,,,Sevastopol,Russia,44.616603999999995,33.525369,"Sevastopol,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 71 | ,,,,,,Smolensk oblast,Russia,54.956192,32.998543,"Smolensk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2,2,2,2,2,2,2,2,2,2,3 72 | ,,,,,,Stavropolskiy kray,Russia,45,44,"Stavropolskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,2,2,2,2,3,3,4,5,5,5,5,6,6,6 73 | ,,,,,,Tambov oblast,Russia,52.73169,41.443259999999995,"Tambov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1 74 | ,,,,,,Tver oblast,Russia,56.85836,35.90057,"Tver oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1 75 | ,,,,,,Tomsk oblast,Russia,56.49771,84.97437,"Tomsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 76 | ,,,,,,Tula oblast,Russia,54.196090000000005,37.61822,"Tula oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,3,4,5,5,5 77 | ,,,,,,Tumen oblast,Russia,57.15221999999999,65.52722,"Tumen oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,2,2,2,3,3,3,3 78 | ,,,,,,Republic of Udmurtia,Russia,57,53,"Republic of Udmurtia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,4,4,4,5,6 79 | ,,,,,,Ulianovsk oblast,Russia,54.32824,48.38657,"Ulianovsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,3,3,3,4,4 80 | ,,,,,,Habarovskiy kray,Russia,48.48271,135.08379,"Habarovskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,2,2,2,2,3,4,4,5,5,5,5,5,5,5,5,5 81 | ,,,,,,Hanty-Mansiyskiy AO,Russia,61.004169999999995,69.00194,"Hanty-Mansiyskiy AO,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,2,2 82 | ,,,,,,Cheliabinsk oblast,Russia,55.154019999999996,61.42915,"Cheliabinsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 83 | ,,,,,,Chechen republic,Russia,43.2,45.78889,"Chechen republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,3,5,5,5,5,5,5,5,5,5,6,6,6,6,6,6,7 84 | ,,,,,,Chukotskiy autonomous oblast,Russia,65.982613,174.432311,"Chukotskiy autonomous oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 85 | ,,,,,,Yamalo-Nenetskiy AO,Russia,66.086435,80.005397,"Yamalo-Nenetskiy AO,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1 86 | ,,,,,,Yaroslavl oblast,Russia,57.62987,39.87368,"Yaroslavl oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,3,3 87 | -------------------------------------------------------------------------------- /data/time_series/confirmed_ru.csv: -------------------------------------------------------------------------------- 1 | UID,iso2,iso3,code3,FIPS,Admin2,Province_State,Country_Region,Lat,Long_,Combined_Key,01/22/20,01/23/20,01/24/20,01/25/20,01/26/20,01/27/20,01/28/20,01/29/20,01/30/20,01/31/20,02/01/20,02/02/20,02/03/20,02/04/20,02/05/20,02/06/20,02/07/20,02/08/20,02/09/20,02/10/20,02/11/20,02/12/20,02/13/20,02/14/20,02/15/20,02/16/20,02/17/20,02/18/20,02/19/20,02/20/20,02/21/20,02/22/20,02/23/20,02/24/20,02/25/20,02/26/20,02/27/20,02/28/20,02/29/20,03/01/20,03/02/20,03/03/20,03/04/20,03/05/20,03/06/20,03/07/20,03/08/20,03/09/20,03/10/20,03/11/20,03/12/20,03/13/20,03/14/20,03/15/20,03/16/20,03/17/20,03/18/20,03/19/20,03/20/20,03/21/20,03/22/20,03/23/20,03/24/20,03/25/20,03/26/20,03/27/20,03/28/20,03/29/20,03/30/20,03/31/20,04/01/20,04/02/20,04/03/20,04/04/20,04/05/20,04/06/20,04/07/20,04/08/20,04/09/20,04/10/20,04/11/20,04/12/20,04/13/20,04/14/20,04/15/20,04/16/20,04/17/20,04/18/20,04/19/20,04/20/20,04/21/20,04/22/20,04/23/20,04/24/20,04/25/20,04/26/20,04/27/20,04/28/20 2 | ,,,,,,Altayskiy kray,Russia,52.129671,82.530013,"Altayskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,4,4,7,7,12,12,18,21,21,29,29,31,36,39,48,53,63,72,84,127,136,144,152,215,283,310,324 3 | ,,,,,,Amursk oblast,Russia,53.413341,127.72806399999999,"Amursk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,4,4,4,4,4,4,4,6,17,6,6,6,9,11,14,16,20,20,23,25,28,33,36,40,41 4 | ,,,,,,Arkhangelsk oblast,Russia,64,44,"Arkhangelsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,7,7,7,7,8,8,8,14,14,14,24,24,24,24,31,32,32,33,34,39,107,114,118,120,123,137,147,167,175,181 5 | ,,,,,,Astrahan oblast,Russia,46.851463,47.466189,"Astrahan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,5,5,5,5,5,5,21,21,21,29,30,30,47,60,64,99,123,136,137,148,165,186,211,277,298,306 6 | ,,,,,,Belgorod oblast,Russia,50.61074,36.58015,"Belgorod oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,2,5,5,5,6,6,7,7,11,14,18,18,26,26,31,31,41,45,58,70,81,90,112,122,144,176,202,221,242,269,299 7 | ,,,,,,Briansk oblast,Russia,53.25209,34.37167,"Briansk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,3,3,3,3,5,5,7,19,19,24,56,57,97,97,123,141,142,142,164,201,228,256,279,321,350,399,459,494,521,599,642,668 8 | ,,,,,,Vladimir oblast,Russia,55.904194999999994,40.898894,"Vladimir oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,3,5,12,14,38,42,48,71,84,100,145,159,183,198,225,259,280,293,339,381,426,475,518,597 9 | ,,,,,,Volgograd oblast,Russia,48.719390000000004,44.50183,"Volgograd oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,4,4,4,4,8,8,8,8,8,15,26,26,26,28,33,38,44,46,47,58,62,79,93,111,134,145,165,186,212,242,272,297 10 | ,,,,,,Vologda oblast,Russia,59.535619,38.817766999999996,"Vologda oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,9,12,12,13,13,23,23,27,35,38,39,42,43,50,52,67,77,86,93,100,107,114,120,129,138,145,155,160 11 | ,,,,,,Voronezh oblast,Russia,51.67204,39.1843,"Voronezh oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,6,8,12,12,12,14,14,23,23,33,33,37,37,49,60,68,75,89,108,130,156,180,211,236,261,291,313,338,358,420 12 | ,,,,,,Jewish Autonomous oblast,Russia,48.522902,132.25761200000002,"Jewish Autonomous oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,6,6,8,8,8,9,9,9,10,16,19,20,22,43,52,66,80,86,86,101,113 13 | ,,,,,,Zabaykalskiy kray,Russia,52,117,"Zabaykalskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,1,4,4,4,4,8,14,14,14,28,30,33,34,43,50,61,64,73,83,90,96,103 14 | ,,,,,,Ivanovo oblast,Russia,56.99719,40.97139,"Ivanovo oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,7,7,9,9,11,11,13,23,23,33,47,47,60,60,62,80,86,96,121,136,149,164,183,203,213,225,239,247,263,274,282,296 15 | ,,,,,,Irkutsk oblast,Russia,57.10029399999999,106.36330500000001,"Irkutsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,3,3,7,8,8,8,11,14,14,17,21,23,28,35,39,39,45,47,54,55,65,68,75,75,80,85,87,87,95 16 | ,,,,,,Republic of Kabardino-Balkaria,Russia,43.355,42.439170000000004,"Republic of Kabardino-Balkaria,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,6,6,8,8,8,8,8,8,13,23,23,27,30,35,50,50,50,69,92,114,136,152,170,193,218,243,272,300,329,367 17 | ,,,,,,Kaliningrad oblast,Russia,54.70649,20.51095,"Kaliningrad oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,12,12,12,19,19,19,19,19,48,49,52,62,65,70,74,79,84,92,104,115,126,138,144,163,171,189,210,236,264,303 18 | ,,,,,,Kaluga oblast,Russia,54.5293,36.275420000000004,"Kaluga oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,3,3,3,5,5,6,6,7,11,11,11,18,24,24,34,49,74,102,122,151,188,228,258,330,383,444,513,583,639,706 19 | ,,,,,,Kamchatskiy kray,Russia,61.350179000000004,169.782981,"Kamchatskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,5,5,10,10,10,10,10,21,29,29,34,41,48,63,78,84,87,110,195,203 20 | ,,,,,,Republic of Karachaevo-Cherkessia,Russia,43.770947,41.753928,"Republic of Karachaevo-Cherkessia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,5,6,9,9,11,13,16,23,30,49,50,67,87,106,145,169,194,240,282,301,314 21 | ,,,,,,Kemerovo oblast,Russia,55.333330000000004,86.08333,"Kemerovo oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,3,3,3,3,3,3,3,3,3,3,3,5,5,7,7,11,12,12,14,14,15,18,22,26,35,41,47,56,67,76,82,103,107,111 22 | ,,,,,,Kirov oblast,Russia,58.59665,49.660070000000005,"Kirov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,8,8,9,12,12,12,12,15,18,18,18,20,20,28,29,35,36,51,51,64,73,91,111,150,169,188,216,240,276,316,362,388,423 23 | ,,,,,,Kostroma oblast,Russia,58.456003,43.788495000000005,"Kostroma oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,3,3,3,3,8,8,9,9,9,12,15,15,18,18,18,27,38,47,53,66,70,81,88,104,120,137,148,158,180 24 | ,,,,,,Krasnodarskiy kray,Russia,44.98811,38.97675,"Krasnodarskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,9,9,9,17,17,17,17,22,22,39,39,39,50,61,85,105,125,138,169,210,215,239,260,290,335,383,417,461,481,539,623,707,780,837,888 25 | ,,,,,,Krasnoyarskiy kray,Russia,58,93,"Krasnoyarskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,8,8,12,12,14,14,20,25,25,25,29,32,32,39,39,39,60,85,110,131,142,202,231,276,300,306,370,392,427,449,467,508,527,574 26 | ,,,,,,Kurgan oblast,Russia,55.45,65.33333,"Kurgan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,10,11,12,13,13,13,15,15,20,22,27,29,31,33 27 | ,,,,,,Kursk oblast,Russia,51.535008000000005,36.121347,"Kursk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,4,4,4,4,4,10,20,21,42,43,58,58,89,120,145,170,196,220,242,276,308,345,389,456,525,590 28 | ,,,,,,Leningradskaya oblast,Russia,60,32,"Leningradskaya oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,7,9,11,14,20,31,41,47,57,62,62,94,112,129,134,139,155,190,298,330,354,388,417,454,496,537,576,615,658,700,743,781 29 | ,,,,,,Lipetsk oblast,Russia,52.60311,39.57076,"Lipetsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,8,9,10,10,11,15,18,18,18,26,26,44,48,55,58,63,69,74,85,96,108,129,149,169,189,213,238,263,284,306,330,356 30 | ,,,,,,Magadan oblast,Russia,62.575815000000006,154.036835,"Magadan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,1,2,3,3,18,18,62,63,63,65,67,76,78,87,88,91,92 31 | ,,,,,,Moscow,Russia,55.752219999999994,37.615559999999995,"Moscow,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,8,8,14,18,23,32,32,52,56,87,99,132,138,191,262,290,410,546,703,817,1014,1226,1613,1880,2475,2923,3357,3893,4484,5181,5841,6698,7822,8852,10158,11513,13002,14776,16146,18105,20754,24324,26350,29433,31981,33940,36897,39509,42480,45351,48426 32 | ,,,,,,Moscow oblast,Russia,55.81363,36.71631,"Moscow oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,41,41,49,85,112,119,119,134,177,211,260,305,387,454,549,748,930,1082,1360,1855,2315,2587,3054,3526,3954,4663,5241,5959,6590,7278,7889,8494,9070,9708,10231 33 | ,,,,,,Murmansk oblast,Russia,68.97917,33.09251,"Murmansk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,3,5,11,11,15,15,15,15,18,18,43,44,67,67,128,128,128,265,306,314,321,354,400,435,506,603,663,856,961,989,1056 34 | ,,,,,,Nenetskiy autonomous oblast,Russia,67.714212,54.365062,"Nenetskiy autonomous oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,2,11,29 35 | ,,,,,,Nizhegorodskaya oblast,Russia,56.328669999999995,44.00205,"Nizhegorodskaya oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,8,8,8,11,11,11,12,12,25,25,25,47,56,56,80,87,119,152,194,224,292,339,404,458,517,646,759,860,929,1002,1096,1214,1367,1574,1663 36 | ,,,,,,Novgorod oblast,Russia,56.328669999999995,44.00205,"Novgorod oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,3,3,3,3,3,3,3,3,5,5,5,12,18,18,18,26,26,26,53,74,80,98,108,114,140,157,171,186,211,244,254 37 | ,,,,,,Novosibirsk oblast,Russia,55.0415,82.9346,"Novosibirsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,7,8,9,9,10,10,10,10,11,11,11,13,18,21,28,28,36,36,53,64,76,86,108,132,135,151,168,209,247,305,347,407 38 | ,,,,,,Omsk oblast,Russia,56.103472,73.34441600000001,"Omsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,7,9,9,10,10,10,14,15,15,17,17,19,20,20,22,23,26,31,33,36,41,45,53,54,58,62,71,82 39 | ,,,,,,Orenburg oblast,Russia,51.7727,55.0988,"Orenburg oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,6,6,7,7,7,12,12,12,12,14,14,22,22,25,25,25,45,53,54,82,120,140,184,184,226,254,277,305,361,377,391,456 40 | ,,,,,,Orel oblast,Russia,52.96508000000001,36.07849,"Orel oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,3,3,3,3,3,6,6,7,12,12,17,24,29,29,34,41,41,73,85,119,132,175,198,238,249,296,321,363,407,460 41 | ,,,,,,Pensa oblast,Russia,53.20066,45.00464,"Pensa oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,7,7,12,16,16,27,27,27,32,51,52,52,67,67,67,84,84,100,107,119,140,140,165,180,196,211,232,255,261,283,322 42 | ,,,,,,Perm oblast,Russia,58.010459999999995,56.25017,"Perm oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,10,10,11,11,13,13,13,20,21,21,21,21,32,32,41,45,45,60,60,87,114,132,144,170,198,215,237,266,287,318,373,434,454,471 43 | ,,,,,,Primorskiy kray,Russia,45,135,"Primorskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,4,5,5,7,7,7,7,8,15,20,20,23,24,28,32,36,40,49,67,80,97,104,166,185,220,254,278,302,347 44 | ,,,,,,Pskov oblast,Russia,57.8136,28.3496,"Pskov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,6,6,6,6,9,9,9,9,9,9,9,10,14,14,16,16,16,16,21,21,27,32,37,42,44,52,58,62,66,81,93,110,124,128 45 | ,,,,,,Republic of Adygeia,Russia,44.429866,40.252969,"Republic of Adygeia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,4,4,4,5,5,7,7,13,13,13,13,20,20,20,20,27,27,43,79,84,91,100,108,113,114,117,119,134,142,150 46 | ,,,,,,Altay republic,Russia,50.73624,87.015454,"Altay republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,4,8,8,9,9,14,15,27,27 47 | ,,,,,,Republic of Bashkortostan,Russia,54,56,"Republic of Bashkortostan,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,5,5,7,8,10,10,10,10,10,12,16,22,40,65,84,107,129,149,191,213,252,252,297,371,396,422,455,490,527,570,631 48 | ,,,,,,Republic of Buriatia,Russia,54.54,112.348699,"Republic of Buriatia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,8,8,13,19,25,30,31,35,35,43,43,50,54,60,61,73,77,86,92,100,103,112,115,115,125,153,163,167,180,186,209,227 49 | ,,,,,,Republic of Dagestan,Russia,42.26,47.095742,"Republic of Dagestan,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,4,13,15,25,25,25,25,30,43,44,57,58,84,84,84,100,105,154,213,257,292,331,371,417,454,567,724,827,994,1147 50 | ,,,,,,Ingushetia republic,Russia,43.103590000000004,45.054581,"Ingushetia republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,7,25,25,29,29,29,34,34,90,153,191,227,269,308,354,397,436,474,515,552,590,633 51 | ,,,,,,Republic of Kalmykia,Russia,46.414024,45.325701,"Republic of Kalmykia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,7,7,7,7,11,15,23,23,32,32,32,32,35,36,53,67,74,77,77,88,94,104,122,146,158,167 52 | ,,,,,,Republic of Karelia,Russia,63.621324,33.232608,"Republic of Karelia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,2,2,2,3,3,7,8,9,15,19,27,30,30,35,37,42,44,56,62 53 | ,,,,,,Komi republic,Russia,64,54,"Komi republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,7,22,22,54,56,56,59,59,90,101,119,150,208,208,208,208,305,402,441,455,474,481,491,507,527,542,553,561,578,590,597 54 | ,,,,,,Republic of Crimea,Russia,45,34,"Republic of Crimea,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,19,20,20,20,16,16,16,18,18,20,21,22,23,26,29,29,31,32,32,34,37,40,43,45,45,46,46,51,53,57,67,69,70 55 | ,,,,,,Republic of Mariy El,Russia,56.485739,48.197858000000004,"Republic of Mariy El,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,4,4,4,4,13,13,40,41,63,63,70,80,91,118,147,179,219,262,291,311,333,348,377,407,431,462,500 56 | ,,,,,,Republic of Mordovia,Russia,54.2,44.319669,"Republic of Mordovia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,3,3,3,4,4,4,5,5,6,6,13,17,19,19,42,58,71,71,71,136,198,258,293,327,357,385,424,469,518,560,592 57 | ,,,,,,Saha republic,Russia,62.30161,32.685359999999996,"Saha republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,14,14,14,15,15,15,15,15,15,15,15,15,15,16,16,16,19,22,25,26,33,35,38,47,88,107,111,116,128,137,141,152,159,166 58 | ,,,,,,Republic of North Osetia - Alania,Russia,43.092669,44.262033,"Republic of North Osetia - Alania,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,5,5,8,9,15,22,27,27,34,34,52,52,52,65,94,120,145,177,211,242,275,305,348,401,549 59 | ,,,,,,Republic of Tatarstan,Russia,55.333330000000004,51,"Republic of Tatarstan,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,10,11,14,14,14,19,19,19,25,25,25,41,41,41,50,50,73,73,84,107,107,128,144,160,191,230,280,355,412,426,491,562,632,697 60 | ,,,,,,Republic of Tyva,Russia,51.584332,94.79308499999999,"Republic of Tyva,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,6,6,6,6,6,8,9,9,13,13,13,13,14,15,24,27,30,31 61 | ,,,,,,Republic of Hakassia,Russia,53.715559999999996,91.42917,"Republic of Hakassia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,2,3,3,3,3,3,3,3,5,5,6,6,9,12,12,12,20,26,27,38,46,68,76,84,87,99,102,151,176,184,206 62 | ,,,,,,Republic of Chuvashia,Russia,56.13222,47.251940000000005,"Republic of Chuvashia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,3,6,15,17,32,39,50,65,65,78,125,137,164,193,225,235,262,305,348,383,421,463,502 63 | ,,,,,,Rostov oblast,Russia,47.23135,39.723279999999995,"Rostov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,5,5,9,9,9,9,9,17,21,24,29,38,52,78,98,104,145,168,197,232,292,346,398,469,533,584,649,714,778 64 | ,,,,,,Ryazan oblast,Russia,54.6269,39.6916,"Ryazan oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,2,2,3,5,5,5,5,6,12,12,17,17,32,32,38,55,71,89,116,116,154,184,225,267,289,316,392,429,475,539,602,687,788 65 | ,,,,,,Samara oblast,Russia,53.20007,50.15,"Samara oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,10,12,14,14,14,14,15,15,17,17,17,17,17,17,18,18,20,21,24,29,40,40,50,63,64,79,95,103,115,141,185,209,229,264,272 66 | ,,,,,,Saint Petersburg,Russia,59.93863,30.31413,"Saint Petersburg,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,4,0,0,4,7,8,7,10,11,11,12,16,16,16,16,21,21,26,26,37,42,50,98,125,147,156,171,191,226,295,329,373,408,488,557,678,799,929,1083,1507,1646,1760,1846,1973,2267,2458,2711,2926,3077,3238,3436 67 | ,,,,,,Saratov oblast,Russia,51.54056,46.00861,"Saratov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,2,2,4,4,15,15,19,19,19,19,25,26,30,34,35,42,44,49,56,70,87,98,114,142,168,190,229,245,265,305,327,359 68 | ,,,,,,Sakhalin oblast,Russia,50.150926,142.750797,"Sakhalin oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,4,4,4,5,5,5,6,6,6,6,11,11,11,11,11,11,11,12,12,19,19,19,19,19,19,19,20,20,20,21,22 69 | ,,,,,,Sverdlov oblast,Russia,43.25,71.75,"Sverdlov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,13,20,20,24,24,24,33,33,38,39,40,40,44,51,56,59,61,74,78,85,93,105,111,115,126,141,149,233,243,271,304,337,395,454,539 70 | ,,,,,,Sevastopol,Russia,44.616603999999995,33.525369,"Sevastopol,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,5,5,5,5,5,5,5,5,5,5,5,6,6,6,7,8,8,12,12,13,17,18,19,25,25,26,31,34,37 71 | ,,,,,,Smolensk oblast,Russia,54.956192,32.998543,"Smolensk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,2,2,3,3,7,11,13,17,17,21,55,106,132,139,152,173,189,208,244,251,262,279,289,324,369 72 | ,,,,,,Stavropolskiy kray,Russia,45,44,"Stavropolskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,5,5,5,6,6,6,11,11,11,11,20,39,39,42,52,66,74,86,95,115,143,155,209,232,244,266,277,332,358,385,421,454,491 73 | ,,,,,,Tambov oblast,Russia,52.73169,41.443259999999995,"Tambov oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,3,3,6,6,6,7,7,15,15,21,21,33,33,48,48,83,83,133,133,165,187,209,222,240,263,298,343,399,460,493 74 | ,,,,,,Tver oblast,Russia,56.85836,35.90057,"Tver oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,3,4,4,5,5,6,6,6,8,8,12,19,24,31,31,75,75,117,151,188,237,270,296,329,356,383,412,441,464,498,507 75 | ,,,,,,Tomsk oblast,Russia,56.49771,84.97437,"Tomsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,2,2,2,3,3,3,3,3,3,3,3,3,3,4,4,4,4,4,8,15,15,21,21,24,29,33,37,43,52,59,66,67,76,81 76 | ,,,,,,Tula oblast,Russia,54.196090000000005,37.61822,"Tula oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,7,7,8,11,11,12,12,17,17,17,19,29,39,49,54,66,71,71,74,85,85,130,174,199,229,287,309,384,436,461,505,578,644,713,783 77 | ,,,,,,Tumen oblast,Russia,57.15221999999999,65.52722,"Tumen oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,3,3,3,3,4,4,6,6,6,11,11,11,11,18,18,19,22,30,39,53,67,85,112,146,185,227,254,290,319,341,357,374,386,399,404 78 | ,,,,,,Republic of Udmurtia,Russia,57,53,"Republic of Udmurtia,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,2,4,4,4,4,4,4,4,4,5,5,5,9,9,9,11,11,13,13,19,27,42,58,62,66,92,118,152,161,178,193,202,207,212 79 | ,,,,,,Ulianovsk oblast,Russia,54.32824,48.38657,"Ulianovsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,1,1,1,1,1,1,1,1,1,1,2,4,4,6,40,62,70,86,86,104,123,138,157,168,187,187,196,228,253,280,307,331,360 80 | ,,,,,,Habarovskiy kray,Russia,48.48271,135.08379,"Habarovskiy kray,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,4,5,5,5,7,7,8,9,9,10,10,11,11,16,24,24,28,29,29,54,54,77,91,109,147,185,215,243,272,310,351,379,406,439,467 81 | ,,,,,,Hanty-Mansiyskiy AO,Russia,61.004169999999995,69.00194,"Hanty-Mansiyskiy AO,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,4,4,4,5,5,5,8,8,16,16,19,19,38,41,41,41,41,41,41,56,71,110,128,161,175,188,197,203,215,217,233,274,297,338 82 | ,,,,,,Cheliabinsk oblast,Russia,55.154019999999996,61.42915,"Cheliabinsk oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,5,5,9,12,14,14,21,21,23,26,27,31,32,32,34,34,40,40,43,48,51,53,57,61,68,78,92,102,111,168,240,302,360,408 83 | ,,,,,,Chechen republic,Russia,43.2,45.78889,"Chechen republic,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,3,5,9,9,9,10,10,12,15,15,16,17,22,22,22,30,47,49,64,105,108,115,175,219,264,303,323,347,365,387,409,429,447 84 | ,,,,,,Chukotskiy autonomous oblast,Russia,65.982613,174.432311,"Chukotskiy autonomous oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,2,2,2,6,6,11,12,15,17,17 85 | ,,,,,,Yamalo-Nenetskiy AO,Russia,66.086435,80.005397,"Yamalo-Nenetskiy AO,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,2,12,12,12,12,30,41,41,41,50,62,66,66,73,95,101,106,116,140,146,149,243,266,303,348,375,387 86 | ,,,,,,Yaroslavl oblast,Russia,57.62987,39.87368,"Yaroslavl oblast,Russia",0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,2,2,3,3,3,3,3,3,5,6,6,11,11,13,13,13,27,27,27,39,62,81,105,117,144,187,198,263,305,342,384,409,456 87 | --------------------------------------------------------------------------------