Skip to content

Instantly share code, notes, and snippets.

@pr0nstar
Created October 1, 2021 19:43
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save pr0nstar/b1a33f3fcd409e33c41181552c402a4a to your computer and use it in GitHub Desktop.
Save pr0nstar/b1a33f3fcd409e33c41181552c402a4a to your computer and use it in GitHub Desktop.
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "present-accused",
"metadata": {},
"outputs": [],
"source": [
"import tabula\n",
"\n",
"import pandas as pd\n",
"import numpy as np\n",
"\n",
"from matplotlib import pyplot"
]
},
{
"cell_type": "markdown",
"id": "heavy-irrigation",
"metadata": {},
"source": [
"#### notas"
]
},
{
"cell_type": "markdown",
"id": "fleet-bullet",
"metadata": {},
"source": [
"* Perido: Del 1 al 25 de agosto de 2021\n",
"* La muestra alcanzó a 45 municipios de los nueve departamentos, más cinco GAIOC y cinco TIOC, aproximadamente 20 encuestas por unidad territorial seleccionada.\n",
"* La muestra recogió 1.074 encuestas. El 48% son hombres y 52% mujeres. El 36% vive en áreas urbanas y el 64% en áreas rurales. El 8% de la muestra tiene entre 18 y 20 años. El 20% entre 21 y 30 años, el 25% entre 31 a 40 años, el 23 % entre 41 a 50 años, el 16% entre 51 a 60 años y el 8% es mayor a 61 años."
]
},
{
"cell_type": "markdown",
"id": "described-frank",
"metadata": {},
"source": [
"* De acuerdo con los resultados de la encues-ta, Pando es el departamento que más vacu-nas presentó, quedando 20 % de la población por vacunarse, seguido de Chuquisaca con 34 %, Tarija con 37 %, Oruro con 41 %, Santa Cruz con 42 %, Potosí con 47 %, Cochabamba con 49 %, Beni con 50 %, y finalmente, La Paz con 55 % de la población pendiente de vacunación."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "wireless-ready",
"metadata": {},
"outputs": [],
"source": [
"max_dt = pd.to_datetime('2021/08/25')\n",
"\n",
"municipios_n = 45\n",
"gaioc_tioc_n = 10\n",
"\n",
"encuestas_n = 1074\n",
"encuestas_ut_n = 20\n",
"\n",
"urbana_dist = .36\n",
"rarual_dist = .64\n",
"edad_dist = {\n",
" '18-20': .08,\n",
" '21-30': .2,\n",
" '31-40': .25,\n",
" '41-50': .23,\n",
" '51-60': .16,\n",
" '>= 61': .08\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "alone-peoples",
"metadata": {},
"outputs": [],
"source": [
"poblacion_vacunada_encuesta = {\n",
" 'pando': .8,\n",
" 'chuquisaca': .66,\n",
" 'tarija': .63,\n",
" 'oruro': .59,\n",
" 'santa cruz': .58,\n",
" 'potosi': .53,\n",
" 'cochabamba': .51,\n",
" 'beni': .5,\n",
" 'la paz': .45\n",
"}"
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "choice-agency",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th colspan=\"3\" halign=\"left\">La Paz</th>\n",
" <th colspan=\"3\" halign=\"left\">Cochabamba</th>\n",
" <th colspan=\"3\" halign=\"left\">Santa Cruz</th>\n",
" <th>Oruro</th>\n",
" <th>...</th>\n",
" <th>Tarija</th>\n",
" <th colspan=\"3\" halign=\"left\">Chuquisaca</th>\n",
" <th colspan=\"3\" halign=\"left\">Beni</th>\n",
" <th colspan=\"3\" halign=\"left\">Pando</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>Primera</th>\n",
" <th>Segunda</th>\n",
" <th>Unica</th>\n",
" <th>Primera</th>\n",
" <th>Segunda</th>\n",
" <th>Unica</th>\n",
" <th>Primera</th>\n",
" <th>Segunda</th>\n",
" <th>Unica</th>\n",
" <th>Primera</th>\n",
" <th>...</th>\n",
" <th>Unica</th>\n",
" <th>Primera</th>\n",
" <th>Segunda</th>\n",
" <th>Unica</th>\n",
" <th>Primera</th>\n",
" <th>Segunda</th>\n",
" <th>Unica</th>\n",
" <th>Primera</th>\n",
" <th>Segunda</th>\n",
" <th>Unica</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>2021-02-02</th>\n",
" <td>12.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>278.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>647.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>26.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>122.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>6.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>270.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-03</th>\n",
" <td>361.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>687.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1264.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>106.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>303.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>48.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>388.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-04</th>\n",
" <td>1030.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1044.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1393.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>195.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>304.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>63.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>488.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-05</th>\n",
" <td>1783.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1369.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1638.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>300.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>529.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>154.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" <tr>\n",
" <th>2021-02-06</th>\n",
" <td>1859.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1369.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>1638.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>412.0</td>\n",
" <td>...</td>\n",
" <td>0.0</td>\n",
" <td>530.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>170.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" <td>550.0</td>\n",
" <td>0.0</td>\n",
" <td>0.0</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 27 columns</p>\n",
"</div>"
],
"text/plain": [
" La Paz Cochabamba Santa Cruz \\\n",
" Primera Segunda Unica Primera Segunda Unica Primera Segunda \n",
"2021-02-02 12.0 0.0 0.0 278.0 0.0 0.0 647.0 0.0 \n",
"2021-02-03 361.0 0.0 0.0 687.0 0.0 0.0 1264.0 0.0 \n",
"2021-02-04 1030.0 0.0 0.0 1044.0 0.0 0.0 1393.0 0.0 \n",
"2021-02-05 1783.0 0.0 0.0 1369.0 0.0 0.0 1638.0 0.0 \n",
"2021-02-06 1859.0 0.0 0.0 1369.0 0.0 0.0 1638.0 0.0 \n",
"\n",
" Oruro ... Tarija Chuquisaca Beni \\\n",
" Unica Primera ... Unica Primera Segunda Unica Primera Segunda \n",
"2021-02-02 0.0 26.0 ... 0.0 122.0 0.0 0.0 6.0 0.0 \n",
"2021-02-03 0.0 106.0 ... 0.0 303.0 0.0 0.0 48.0 0.0 \n",
"2021-02-04 0.0 195.0 ... 0.0 304.0 0.0 0.0 63.0 0.0 \n",
"2021-02-05 0.0 300.0 ... 0.0 529.0 0.0 0.0 154.0 0.0 \n",
"2021-02-06 0.0 412.0 ... 0.0 530.0 0.0 0.0 170.0 0.0 \n",
"\n",
" Pando \n",
" Unica Primera Segunda Unica \n",
"2021-02-02 0.0 270.0 0.0 0.0 \n",
"2021-02-03 0.0 388.0 0.0 0.0 \n",
"2021-02-04 0.0 488.0 0.0 0.0 \n",
"2021-02-05 0.0 550.0 0.0 0.0 \n",
"2021-02-06 0.0 550.0 0.0 0.0 \n",
"\n",
"[5 rows x 27 columns]"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vacunas_df = pd.read_csv(\n",
" 'https://github.com/pr0nstar/covid19-data/raw/master/processed/bolivia/vaccinations.csv', \n",
" header=[0, 1], \n",
" index_col=0\n",
")\n",
"\n",
"vacunas_df.index = pd.to_datetime(vacunas_df.index)\n",
"vacunas_df = vacunas_df.asfreq('D').interpolate()\n",
"\n",
"vacunas_df.head()"
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "known-thought",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>Personal de salud</th>\n",
" <th>Poblacion con enfermedad de base</th>\n",
" <th>Poblacion mayor a 60</th>\n",
" <th>Poblacion restante</th>\n",
" </tr>\n",
" <tr>\n",
" <th>dept</th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" <th></th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>la paz</th>\n",
" <td>47320</td>\n",
" <td>347013</td>\n",
" <td>351439</td>\n",
" <td>1182999</td>\n",
" </tr>\n",
" <tr>\n",
" <th>oruro</th>\n",
" <td>8509</td>\n",
" <td>62398</td>\n",
" <td>62263</td>\n",
" <td>212720</td>\n",
" </tr>\n",
" <tr>\n",
" <th>potosi</th>\n",
" <td>12782</td>\n",
" <td>93736</td>\n",
" <td>104983</td>\n",
" <td>319556</td>\n",
" </tr>\n",
" <tr>\n",
" <th>cochabamba</th>\n",
" <td>31587</td>\n",
" <td>231636</td>\n",
" <td>220630</td>\n",
" <td>789667</td>\n",
" </tr>\n",
" <tr>\n",
" <th>chuquisaca</th>\n",
" <td>9500</td>\n",
" <td>69666</td>\n",
" <td>75053</td>\n",
" <td>237499</td>\n",
" </tr>\n",
" <tr>\n",
" <th>tarija</th>\n",
" <td>9179</td>\n",
" <td>67313</td>\n",
" <td>60103</td>\n",
" <td>229475</td>\n",
" </tr>\n",
" <tr>\n",
" <th>pando</th>\n",
" <td>2361</td>\n",
" <td>17313</td>\n",
" <td>8135</td>\n",
" <td>59023</td>\n",
" </tr>\n",
" <tr>\n",
" <th>beni</th>\n",
" <td>6971</td>\n",
" <td>51122</td>\n",
" <td>36085</td>\n",
" <td>174281</td>\n",
" </tr>\n",
" <tr>\n",
" <th>santa cruz</th>\n",
" <td>51459</td>\n",
" <td>377364</td>\n",
" <td>272824</td>\n",
" <td>1286468</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" Personal de salud Poblacion con enfermedad de base \\\n",
"dept \n",
"la paz 47320 347013 \n",
"oruro 8509 62398 \n",
"potosi 12782 93736 \n",
"cochabamba 31587 231636 \n",
"chuquisaca 9500 69666 \n",
"tarija 9179 67313 \n",
"pando 2361 17313 \n",
"beni 6971 51122 \n",
"santa cruz 51459 377364 \n",
"\n",
" Poblacion mayor a 60 Poblacion restante \n",
"dept \n",
"la paz 351439 1182999 \n",
"oruro 62263 212720 \n",
"potosi 104983 319556 \n",
"cochabamba 220630 789667 \n",
"chuquisaca 75053 237499 \n",
"tarija 60103 229475 \n",
"pando 8135 59023 \n",
"beni 36085 174281 \n",
"santa cruz 272824 1286468 "
]
},
"execution_count": 5,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vacunas_poblacion_df = pd.read_csv(\n",
" 'https://github.com/pr0nstar/covid19-pruebas/raw/master/data/vaccine.target.population.csv'\n",
")\n",
"vacunas_poblacion_df.index = vacunas_poblacion_df['dept'].str.lower()\n",
"vacunas_poblacion_df = vacunas_poblacion_df.iloc[:, 1:]\n",
"vacunas_poblacion_df"
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "nuclear-clinton",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th>cod_ine</th>\n",
" <th>municipio</th>\n",
" <th>departamento</th>\n",
" <th>sdi</th>\n",
" <th>poblacion</th>\n",
" <th>urbanizacion</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>221</th>\n",
" <td>50901</td>\n",
" <td>Colcha \"K\"</td>\n",
" <td>Potosí</td>\n",
" <td>0.540704</td>\n",
" <td>15977</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>120</th>\n",
" <td>30301</td>\n",
" <td>Independencia</td>\n",
" <td>Cochabamba</td>\n",
" <td>0.434889</td>\n",
" <td>24898</td>\n",
" <td>0.000</td>\n",
" </tr>\n",
" <tr>\n",
" <th>265</th>\n",
" <td>70503</td>\n",
" <td>Roboré</td>\n",
" <td>Santa Cruz</td>\n",
" <td>0.585704</td>\n",
" <td>16308</td>\n",
" <td>0.677</td>\n",
" </tr>\n",
" <tr>\n",
" <th>307</th>\n",
" <td>80201</td>\n",
" <td>Riberalta</td>\n",
" <td>Beni</td>\n",
" <td>0.504612</td>\n",
" <td>101755</td>\n",
" <td>0.885</td>\n",
" </tr>\n",
" <tr>\n",
" <th>276</th>\n",
" <td>70801</td>\n",
" <td>Vallegrande</td>\n",
" <td>Santa Cruz</td>\n",
" <td>0.609414</td>\n",
" <td>18472</td>\n",
" <td>0.590</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" cod_ine municipio departamento sdi poblacion urbanizacion\n",
"221 50901 Colcha \"K\" Potosí 0.540704 15977 0.000\n",
"120 30301 Independencia Cochabamba 0.434889 24898 0.000\n",
"265 70503 Roboré Santa Cruz 0.585704 16308 0.677\n",
"307 80201 Riberalta Beni 0.504612 101755 0.885\n",
"276 70801 Vallegrande Santa Cruz 0.609414 18472 0.590"
]
},
"execution_count": 6,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sdsn_df = pd.read_csv('../sdsn.gen.csv')\n",
"\n",
"sdsn_df['sdi'] = sdsn_df['sdi'] / 100\n",
"sdsn_df['urbanizacion'] = sdsn_df['urbanizacion'] / 100\n",
"\n",
"sdsn_df.sample(5)"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "perfect-surveillance",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead tr th {\n",
" text-align: left;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr>\n",
" <th></th>\n",
" <th></th>\n",
" <th colspan=\"10\" halign=\"left\">Hombres</th>\n",
" <th>...</th>\n",
" <th colspan=\"10\" halign=\"left\">Mujeres</th>\n",
" </tr>\n",
" <tr>\n",
" <th></th>\n",
" <th>c_ut</th>\n",
" <th>0-4</th>\n",
" <th>5-9</th>\n",
" <th>10-14</th>\n",
" <th>15-19</th>\n",
" <th>20-24</th>\n",
" <th>25-29</th>\n",
" <th>30-34</th>\n",
" <th>35-39</th>\n",
" <th>40-44</th>\n",
" <th>45-49</th>\n",
" <th>...</th>\n",
" <th>50-54</th>\n",
" <th>55-59</th>\n",
" <th>60-64</th>\n",
" <th>65-69</th>\n",
" <th>70-74</th>\n",
" <th>75-79</th>\n",
" <th>80-84</th>\n",
" <th>85-89</th>\n",
" <th>90-94</th>\n",
" <th>&gt;= 95</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>30402</th>\n",
" <th>Anzaldo</th>\n",
" <td>432</td>\n",
" <td>407</td>\n",
" <td>431</td>\n",
" <td>338</td>\n",
" <td>227</td>\n",
" <td>159</td>\n",
" <td>139</td>\n",
" <td>155</td>\n",
" <td>199</td>\n",
" <td>190</td>\n",
" <td>...</td>\n",
" <td>184</td>\n",
" <td>161</td>\n",
" <td>185</td>\n",
" <td>147</td>\n",
" <td>101</td>\n",
" <td>64</td>\n",
" <td>46</td>\n",
" <td>23</td>\n",
" <td>11</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60101</th>\n",
" <th>Tarija</th>\n",
" <td>12736</td>\n",
" <td>10916</td>\n",
" <td>11865</td>\n",
" <td>14933</td>\n",
" <td>15521</td>\n",
" <td>12541</td>\n",
" <td>11655</td>\n",
" <td>9442</td>\n",
" <td>8063</td>\n",
" <td>6552</td>\n",
" <td>...</td>\n",
" <td>5229</td>\n",
" <td>4055</td>\n",
" <td>3404</td>\n",
" <td>2493</td>\n",
" <td>1841</td>\n",
" <td>1162</td>\n",
" <td>856</td>\n",
" <td>450</td>\n",
" <td>191</td>\n",
" <td>107</td>\n",
" </tr>\n",
" <tr>\n",
" <th>31301</th>\n",
" <th>Mizque</th>\n",
" <td>1950</td>\n",
" <td>1681</td>\n",
" <td>1589</td>\n",
" <td>1781</td>\n",
" <td>1104</td>\n",
" <td>824</td>\n",
" <td>873</td>\n",
" <td>780</td>\n",
" <td>706</td>\n",
" <td>638</td>\n",
" <td>...</td>\n",
" <td>574</td>\n",
" <td>498</td>\n",
" <td>417</td>\n",
" <td>359</td>\n",
" <td>201</td>\n",
" <td>119</td>\n",
" <td>95</td>\n",
" <td>36</td>\n",
" <td>25</td>\n",
" <td>6</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60303</th>\n",
" <th>Villamontes</th>\n",
" <td>2986</td>\n",
" <td>2509</td>\n",
" <td>2783</td>\n",
" <td>2715</td>\n",
" <td>2366</td>\n",
" <td>2176</td>\n",
" <td>2074</td>\n",
" <td>1697</td>\n",
" <td>1318</td>\n",
" <td>1104</td>\n",
" <td>...</td>\n",
" <td>1004</td>\n",
" <td>725</td>\n",
" <td>638</td>\n",
" <td>421</td>\n",
" <td>326</td>\n",
" <td>167</td>\n",
" <td>132</td>\n",
" <td>52</td>\n",
" <td>26</td>\n",
" <td>26</td>\n",
" </tr>\n",
" <tr>\n",
" <th>40603</th>\n",
" <th>Antequera</th>\n",
" <td>193</td>\n",
" <td>175</td>\n",
" <td>155</td>\n",
" <td>121</td>\n",
" <td>98</td>\n",
" <td>103</td>\n",
" <td>112</td>\n",
" <td>90</td>\n",
" <td>86</td>\n",
" <td>86</td>\n",
" <td>...</td>\n",
" <td>84</td>\n",
" <td>49</td>\n",
" <td>47</td>\n",
" <td>43</td>\n",
" <td>24</td>\n",
" <td>15</td>\n",
" <td>5</td>\n",
" <td>2</td>\n",
" <td>1</td>\n",
" <td>1</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"<p>5 rows × 40 columns</p>\n",
"</div>"
],
"text/plain": [
" Hombres \\\n",
"c_ut 0-4 5-9 10-14 15-19 20-24 25-29 30-34 35-39 \n",
"30402 Anzaldo 432 407 431 338 227 159 139 155 \n",
"60101 Tarija 12736 10916 11865 14933 15521 12541 11655 9442 \n",
"31301 Mizque 1950 1681 1589 1781 1104 824 873 780 \n",
"60303 Villamontes 2986 2509 2783 2715 2366 2176 2074 1697 \n",
"40603 Antequera 193 175 155 121 98 103 112 90 \n",
"\n",
" ... Mujeres \\\n",
"c_ut 40-44 45-49 ... 50-54 55-59 60-64 65-69 70-74 75-79 \n",
"30402 Anzaldo 199 190 ... 184 161 185 147 101 64 \n",
"60101 Tarija 8063 6552 ... 5229 4055 3404 2493 1841 1162 \n",
"31301 Mizque 706 638 ... 574 498 417 359 201 119 \n",
"60303 Villamontes 1318 1104 ... 1004 725 638 421 326 167 \n",
"40603 Antequera 86 86 ... 84 49 47 43 24 15 \n",
"\n",
" \n",
"c_ut 80-84 85-89 90-94 >= 95 \n",
"30402 Anzaldo 46 23 11 6 \n",
"60101 Tarija 856 450 191 107 \n",
"31301 Mizque 95 36 25 6 \n",
"60303 Villamontes 132 52 26 26 \n",
"40603 Antequera 5 2 1 1 \n",
"\n",
"[5 rows x 40 columns]"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"population_df = pd.read_csv('../bolivia.age.population.muni.2.csv', header=[0, 1], index_col=[0, 1])\n",
"population_df.sample(5)"
]
},
{
"cell_type": "code",
"execution_count": 8,
"id": "supposed-garbage",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 432x288 with 1 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"ax = sdsn_df['urbanizacion'].plot.hist(bins=50)"
]
},
{
"cell_type": "code",
"execution_count": 9,
"id": "floppy-steering",
"metadata": {},
"outputs": [],
"source": [
"SUR_PATH = 'https://www.agrecolandes.org/wp-content/uploads/2021/09/Resutados-encuesta-COVID-19-1er-entregra.pdf'"
]
},
{
"cell_type": "code",
"execution_count": 10,
"id": "macro-canvas",
"metadata": {},
"outputs": [],
"source": [
"location_df = tabula.read_pdf(SUR_PATH, pages=17)[0]"
]
},
{
"cell_type": "code",
"execution_count": 11,
"id": "fleet-netherlands",
"metadata": {},
"outputs": [],
"source": [
"location_df.columns = [_.lower().replace(' ', '_') for _ in location_df.columns]\n",
"location_df = location_df.drop('observaciones', axis=1)\n",
"location_df = location_df.dropna(how='all')"
]
},
{
"cell_type": "code",
"execution_count": 12,
"id": "worst-rider",
"metadata": {},
"outputs": [],
"source": [
"location_df['unidad_territorial'] = location_df['unidad_territorial'].replace({\n",
" 'Santa Cruz': 'Santa Cruz de la Sierra',\n",
" 'Ascención de Guarayos': 'Ascensión de Guarayos',\n",
" 'Tiwanaku': 'Tiahuanacu'\n",
"})"
]
},
{
"cell_type": "code",
"execution_count": 13,
"id": "demonstrated-watson",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"5 TIOC Cabineño\n",
"14 GAIOC Raqaypampa\n",
"17 TIOC Yuracaré\n",
"24 TIOC Tacana I\n",
"27 GAIOC Salinas\n",
"28 GAIOC Uru Chipaya\n",
"47 GAIOC Charagua Iyambae\n",
"48 GAIOC Kereimba Iyaambae\n",
"52 TIOC Bajo Paraguá\n",
"53 TIOC Lomerío\n",
"Name: unidad_territorial, dtype: object"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"location_df_ = location_df[~location_df['unidad_territorial'].isna()]\n",
"location_df_[~location_df_['unidad_territorial'].isin(sdsn_df['municipio'])]['unidad_territorial']"
]
},
{
"cell_type": "code",
"execution_count": 14,
"id": "antique-portal",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"45"
]
},
"execution_count": 14,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"sdsn_df_ = sdsn_df[sdsn_df['municipio'].isin(location_df_['unidad_territorial'])]\n",
"len(sdsn_df_)"
]
},
{
"cell_type": "code",
"execution_count": 15,
"id": "authentic-johnson",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"45"
]
},
"execution_count": 15,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"municipios_n"
]
},
{
"cell_type": "code",
"execution_count": 16,
"id": "welsh-encyclopedia",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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\n",
"text/plain": [
"<Figure size 1417.32x425.197 with 3 Axes>"
]
},
"metadata": {
"needs_background": "light"
},
"output_type": "display_data"
}
],
"source": [
"fig, axs = pyplot.subplots(ncols=3, nrows=1, figsize=(50/2.54, 15/2.54))\n",
"ax = sdsn_df_['urbanizacion'].plot.hist(bins=33, ax=axs[0], title='urbanizacion')\n",
"ax = sdsn_df_['poblacion'].plot.hist(bins=33, ax=axs[1], title='poblacion')\n",
"ax = sdsn_df_['sdi'].plot.hist(bins=33, ax=axs[2], title='sdi')"
]
},
{
"cell_type": "code",
"execution_count": 17,
"id": "critical-tuner",
"metadata": {
"scrolled": true
},
"outputs": [
{
"data": {
"text/plain": [
"0.43636363636363634"
]
},
"execution_count": 17,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"# https://www.bivica.org/files/idh-municipios.pdf\n",
"# se define como municipio rural ... en el cual el grado de urbanizacion es < .4\n",
"(sdsn_df_['urbanizacion'] >= .4).sum() / (municipios_n + gaioc_tioc_n)"
]
},
{
"cell_type": "code",
"execution_count": 18,
"id": "retained-isolation",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.34545454545454546"
]
},
"execution_count": 18,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"(sdsn_df_['urbanizacion'] >= .5).sum() / (municipios_n + gaioc_tioc_n)"
]
},
{
"cell_type": "code",
"execution_count": 19,
"id": "athletic-karma",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"0.36"
]
},
"execution_count": 19,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"urbana_dist"
]
},
{
"cell_type": "code",
"execution_count": 20,
"id": "requested-indianapolis",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"<div>\n",
"<style scoped>\n",
" .dataframe tbody tr th:only-of-type {\n",
" vertical-align: middle;\n",
" }\n",
"\n",
" .dataframe tbody tr th {\n",
" vertical-align: top;\n",
" }\n",
"\n",
" .dataframe thead th {\n",
" text-align: right;\n",
" }\n",
"</style>\n",
"<table border=\"1\" class=\"dataframe\">\n",
" <thead>\n",
" <tr style=\"text-align: right;\">\n",
" <th></th>\n",
" <th></th>\n",
" <th>21-30</th>\n",
" <th>31-40</th>\n",
" <th>41-50</th>\n",
" <th>51-60</th>\n",
" <th>&gt;= 61</th>\n",
" </tr>\n",
" </thead>\n",
" <tbody>\n",
" <tr>\n",
" <th>90201</th>\n",
" <th>Puerto Rico</th>\n",
" <td>1281</td>\n",
" <td>885</td>\n",
" <td>578</td>\n",
" <td>354</td>\n",
" <td>306</td>\n",
" </tr>\n",
" <tr>\n",
" <th>10101</th>\n",
" <th>Sucre</th>\n",
" <td>61737</td>\n",
" <td>39282</td>\n",
" <td>26565</td>\n",
" <td>18493</td>\n",
" <td>25027</td>\n",
" </tr>\n",
" <tr>\n",
" <th>50101</th>\n",
" <th>Potosí</th>\n",
" <td>42715</td>\n",
" <td>31432</td>\n",
" <td>19487</td>\n",
" <td>13613</td>\n",
" <td>15376</td>\n",
" </tr>\n",
" <tr>\n",
" <th>60502</th>\n",
" <th>El Puente</th>\n",
" <td>1768</td>\n",
" <td>1455</td>\n",
" <td>1216</td>\n",
" <td>1044</td>\n",
" <td>1403</td>\n",
" </tr>\n",
" <tr>\n",
" <th>20101</th>\n",
" <th>La Paz</th>\n",
" <td>150590</td>\n",
" <td>129266</td>\n",
" <td>97308</td>\n",
" <td>73191</td>\n",
" <td>89646</td>\n",
" </tr>\n",
" </tbody>\n",
"</table>\n",
"</div>"
],
"text/plain": [
" 21-30 31-40 41-50 51-60 >= 61\n",
"90201 Puerto Rico 1281 885 578 354 306\n",
"10101 Sucre 61737 39282 26565 18493 25027\n",
"50101 Potosí 42715 31432 19487 13613 15376\n",
"60502 El Puente 1768 1455 1216 1044 1403\n",
"20101 La Paz 150590 129266 97308 73191 89646"
]
},
"execution_count": 20,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"population_df_ = population_df.groupby(level=1, axis=1).sum()\n",
"population_df_ = population_df_.loc[sdsn_df_['cod_ine'].values]\n",
"population_df_ = pd.concat([\n",
" population_df_[['20-24', '25-29']].sum(axis=1).rename('21-30'),\n",
" population_df_[['30-34', '35-39']].sum(axis=1).rename('31-40'),\n",
" population_df_[['40-44', '45-49']].sum(axis=1).rename('41-50'),\n",
" population_df_[['50-54', '55-59']].sum(axis=1).rename('51-60'),\n",
" population_df_.iloc[:, population_df_.columns.tolist().index('60-64'):].sum(axis=1).rename('>= 61'),\n",
"], axis=1)\n",
"\n",
"population_df_.sample(5)"
]
},
{
"cell_type": "code",
"execution_count": 21,
"id": "enabling-vermont",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"21-30 0.31\n",
"31-40 0.23\n",
"41-50 0.17\n",
"51-60 0.13\n",
">= 61 0.16\n",
"dtype: float64"
]
},
"execution_count": 21,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"population_df__ = (population_df_.T / population_df_.sum(axis=1)).T.round(2)\n",
"population_df__.mean().round(2)"
]
},
{
"cell_type": "code",
"execution_count": 22,
"id": "asian-sending",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"{'18-20': 0.08,\n",
" '21-30': 0.2,\n",
" '31-40': 0.25,\n",
" '41-50': 0.23,\n",
" '51-60': 0.16,\n",
" '>= 61': 0.08}"
]
},
"execution_count": 22,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"edad_dist"
]
},
{
"cell_type": "code",
"execution_count": 23,
"id": "polish-throw",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"beni 0.45\n",
"chuquisaca 0.53\n",
"cochabamba 0.54\n",
"la paz 0.45\n",
"oruro 0.52\n",
"pando 0.50\n",
"potosi 0.33\n",
"santa cruz 0.62\n",
"tarija 0.66\n",
"dtype: float64"
]
},
"execution_count": 23,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"vacunas_df_ = vacunas_df[:max_dt + pd.Timedelta(days=1)].iloc[-1].unstack(level=1)\n",
"vacunas_df_.index = vacunas_df_.index.str.lower()\n",
"\n",
"((vacunas_df_['Primera'] + vacunas_df_['Unica']) / vacunas_poblacion_df.sum(axis=1)).round(2).sort_index()"
]
},
{
"cell_type": "code",
"execution_count": 24,
"id": "funded-orientation",
"metadata": {},
"outputs": [
{
"data": {
"text/plain": [
"beni 0.50\n",
"chuquisaca 0.66\n",
"cochabamba 0.51\n",
"la paz 0.45\n",
"oruro 0.59\n",
"pando 0.80\n",
"potosi 0.53\n",
"santa cruz 0.58\n",
"tarija 0.63\n",
"Name: 0, dtype: float64"
]
},
"execution_count": 24,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"pd.DataFrame([poblacion_vacunada_encuesta]).T[0].sort_index()"
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3",
"version": "3.8.10"
}
},
"nbformat": 4,
"nbformat_minor": 5
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment