#!pip install requests
from sqlalchemy import create_engine
import pandas as pd
import numpy as np
import requests as rq
import json
import itertools
import psycopg2
TOKEN = 'xxx'
CITIES = ['07000009', '07000017', '07000011', '07000022', '07000013', '07000015', '07000029', '07000021']
URL_INDICADORES = []
CITIES_NAMES = ['CDMX', 'MORELOS', 'GUANAJUATO', 'QUERETARO', 'HIDALGO', 'EDOMEX', 'TLAXCALA', 'PUEBLA']
INDICATORS = ['Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta']
for i in CITIES:
url_indicadores = f'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/{i}/true/BISE/2.0/{TOKEN}?type=json'
URL_INDICADORES.append(url_indicadores)
URL_INDICADORES
['https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000009/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000017/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000011/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000022/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000013/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000015/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000029/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json', 'https://www.inegi.org.mx/app/api/indicadores/desarrolladores/jsonxml/INDICATOR/3108001001,6200240391,6207019010,1003000017/es/07000021/true/BISE/2.0/9ce93ce1-70c2-0ff4-1e0a-ea5775475c08?type=json']
data = []
for i in URL_INDICADORES:
data.append(rq.get(i).json()['Series'])
data = list(itertools.chain.from_iterable(data))
data
[{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '2746872.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000009'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '1.47506549456320000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000009'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '20.63360453622430000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000009'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '97.91713808749820000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000009'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '556409.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000017'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '4.95519569719918000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000017'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '31.40664859428390000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000017'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '94.42901209576030000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000017'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '1573803.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000011'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '6.34906629963758000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000011'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '37.89118111610520000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000011'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '93.12805959642950000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000011'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '661924.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000022'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '4.53571775762054000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000022'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '29.82601235505410000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000022'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '95.50736688548500000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000022'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '847206.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000013'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '8.19686288324147000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000013'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '35.85238979520350000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000013'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '91.57603497899320000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000013'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '4543258.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000015'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '3.33707124315867000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000015'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '27.50234650573750000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000015'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '96.20621245097940000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000015'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '333902.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000029'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '3.94859558387132000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000029'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '28.68994572677550000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000029'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '95.65868101413820000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000029'}]},
{'INDICADOR': '1003000017',
'FREQ': '7',
'TOPIC': '56',
'UNIT': '250',
'UNIT_MULT': '',
'NOTE': '10,12,395',
'SOURCE': '2,3,343,487,3001',
'LASTUPDATE': '25/05/2022',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '1695462.00000000000000000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000021'}]},
{'INDICADOR': '3108001001',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '174',
'SOURCE': '1714,20118',
'LASTUPDATE': '03/04/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2015',
'OBS_VALUE': '8.31676746391996000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000021'}]},
{'INDICADOR': '6200240391',
'FREQ': '3',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1695,2179,2773,2785',
'LASTUPDATE': '20/06/2018',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2017',
'OBS_VALUE': '40.17156233764060000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000021'}]},
{'INDICADOR': '6207019010',
'FREQ': '7',
'TOPIC': '15',
'UNIT': '3',
'UNIT_MULT': '',
'NOTE': '',
'SOURCE': '1714,3001',
'LASTUPDATE': '24/01/2021',
'STATUS': '3',
'OBSERVATIONS': [{'TIME_PERIOD': '2020',
'OBS_VALUE': '91.03490218584570000000',
'OBS_EXCEPTION': None,
'OBS_STATUS': '3',
'OBS_SOURCE': '',
'OBS_NOTE': '',
'COBER_GEO': '07000021'}]}]
df = pd.DataFrame(data)
df
| INDICADOR | FREQ | TOPIC | UNIT | UNIT_MULT | NOTE | SOURCE | LASTUPDATE | STATUS | OBSERVATIONS | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '2746872... | |
| 1 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '1.47506... | |
| 2 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '20.6336... | ||
| 3 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '97.9171... | ||
| 4 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '556409.... | |
| 5 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '4.95519... | |
| 6 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '31.4066... | ||
| 7 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '94.4290... | ||
| 8 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '1573803... | |
| 9 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '6.34906... | |
| 10 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '37.8911... | ||
| 11 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '93.1280... | ||
| 12 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '661924.... | |
| 13 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '4.53571... | |
| 14 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '29.8260... | ||
| 15 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '95.5073... | ||
| 16 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '847206.... | |
| 17 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '8.19686... | |
| 18 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '35.8523... | ||
| 19 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '91.5760... | ||
| 20 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '4543258... | |
| 21 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '3.33707... | |
| 22 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '27.5023... | ||
| 23 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '96.2062... | ||
| 24 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '333902.... | |
| 25 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '3.94859... | |
| 26 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '28.6899... | ||
| 27 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '95.6586... | ||
| 28 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '1695462... | |
| 29 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | [{'TIME_PERIOD': '2015', 'OBS_VALUE': '8.31676... | |
| 30 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | [{'TIME_PERIOD': '2017', 'OBS_VALUE': '40.1715... | ||
| 31 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | [{'TIME_PERIOD': '2020', 'OBS_VALUE': '91.0349... |
data[4]['OBSERVATIONS'][0]['OBS_VALUE']
'556409.00000000000000000000'
values = []
for i in range(len(data)):
values.append(data[i]['OBSERVATIONS'][0]['OBS_VALUE'])
values
['2746872.00000000000000000000', '1.47506549456320000000', '20.63360453622430000000', '97.91713808749820000000', '556409.00000000000000000000', '4.95519569719918000000', '31.40664859428390000000', '94.42901209576030000000', '1573803.00000000000000000000', '6.34906629963758000000', '37.89118111610520000000', '93.12805959642950000000', '661924.00000000000000000000', '4.53571775762054000000', '29.82601235505410000000', '95.50736688548500000000', '847206.00000000000000000000', '8.19686288324147000000', '35.85238979520350000000', '91.57603497899320000000', '4543258.00000000000000000000', '3.33707124315867000000', '27.50234650573750000000', '96.20621245097940000000', '333902.00000000000000000000', '3.94859558387132000000', '28.68994572677550000000', '95.65868101413820000000', '1695462.00000000000000000000', '8.31676746391996000000', '40.17156233764060000000', '91.03490218584570000000']
df.drop('OBSERVATIONS', axis=1, inplace=True)
df
| INDICADOR | FREQ | TOPIC | UNIT | UNIT_MULT | NOTE | SOURCE | LASTUPDATE | STATUS | |
|---|---|---|---|---|---|---|---|---|---|
| 0 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 1 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 2 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 3 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 4 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 5 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 6 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 7 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 8 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 9 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 10 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 11 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 12 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 13 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 14 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 15 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 16 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 17 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 18 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 19 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 20 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 21 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 22 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 23 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 24 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 25 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 26 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 27 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | ||
| 28 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | |
| 29 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | |
| 30 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | ||
| 31 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 |
df['VALUE'] = values
df
| INDICADOR | FREQ | TOPIC | UNIT | UNIT_MULT | NOTE | SOURCE | LASTUPDATE | STATUS | VALUE | |
|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 2746872.00000000000000000000 | |
| 1 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 1.47506549456320000000 | |
| 2 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 20.63360453622430000000 | ||
| 3 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 97.91713808749820000000 | ||
| 4 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 556409.00000000000000000000 | |
| 5 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.95519569719918000000 | |
| 6 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 31.40664859428390000000 | ||
| 7 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 94.42901209576030000000 | ||
| 8 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1573803.00000000000000000000 | |
| 9 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 6.34906629963758000000 | |
| 10 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 37.89118111610520000000 | ||
| 11 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 93.12805959642950000000 | ||
| 12 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 661924.00000000000000000000 | |
| 13 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.53571775762054000000 | |
| 14 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 29.82601235505410000000 | ||
| 15 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.50736688548500000000 | ||
| 16 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 847206.00000000000000000000 | |
| 17 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.19686288324147000000 | |
| 18 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 35.85238979520350000000 | ||
| 19 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.57603497899320000000 | ||
| 20 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 4543258.00000000000000000000 | |
| 21 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.33707124315867000000 | |
| 22 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 27.50234650573750000000 | ||
| 23 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 96.20621245097940000000 | ||
| 24 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 333902.00000000000000000000 | |
| 25 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.94859558387132000000 | |
| 26 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 28.68994572677550000000 | ||
| 27 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.65868101413820000000 | ||
| 28 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1695462.00000000000000000000 | |
| 29 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.31676746391996000000 | |
| 30 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 40.17156233764060000000 | ||
| 31 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.03490218584570000000 |
city_names = []
for i in CITIES_NAMES:
city_names.append(list(itertools.repeat(i, 4)))
city_names = list(itertools.chain.from_iterable(city_names))
city_names
['CDMX', 'CDMX', 'CDMX', 'CDMX', 'MORELOS', 'MORELOS', 'MORELOS', 'MORELOS', 'GUANAJUATO', 'GUANAJUATO', 'GUANAJUATO', 'GUANAJUATO', 'QUERETARO', 'QUERETARO', 'QUERETARO', 'QUERETARO', 'HIDALGO', 'HIDALGO', 'HIDALGO', 'HIDALGO', 'EDOMEX', 'EDOMEX', 'EDOMEX', 'EDOMEX', 'TLAXCALA', 'TLAXCALA', 'TLAXCALA', 'TLAXCALA', 'PUEBLA', 'PUEBLA', 'PUEBLA', 'PUEBLA']
df['CITY'] = city_names
df
| INDICADOR | FREQ | TOPIC | UNIT | UNIT_MULT | NOTE | SOURCE | LASTUPDATE | STATUS | VALUE | INICATORS | CITY | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 2746872.00 | Viviendas particulares habitadas que disponen ... | CDMX | |
| 1 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 1.48 | Porcentaje de analfabetas total | CDMX | |
| 2 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 20.63 | Porcentaje de la población de 15 años y más co... | CDMX | ||
| 3 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 97.92 | Porcentaje de población de 25 años y más alfabeta | CDMX | ||
| 4 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 556409.00 | Viviendas particulares habitadas que disponen ... | MORELOS | |
| 5 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.96 | Porcentaje de analfabetas total | MORELOS | |
| 6 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 31.41 | Porcentaje de la población de 15 años y más co... | MORELOS | ||
| 7 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 94.43 | Porcentaje de población de 25 años y más alfabeta | MORELOS | ||
| 8 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1573803.00 | Viviendas particulares habitadas que disponen ... | GUANAJUATO | |
| 9 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 6.35 | Porcentaje de analfabetas total | GUANAJUATO | |
| 10 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 37.89 | Porcentaje de la población de 15 años y más co... | GUANAJUATO | ||
| 11 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 93.13 | Porcentaje de población de 25 años y más alfabeta | GUANAJUATO | ||
| 12 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 661924.00 | Viviendas particulares habitadas que disponen ... | QUERETARO | |
| 13 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.54 | Porcentaje de analfabetas total | QUERETARO | |
| 14 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 29.83 | Porcentaje de la población de 15 años y más co... | QUERETARO | ||
| 15 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.51 | Porcentaje de población de 25 años y más alfabeta | QUERETARO | ||
| 16 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 847206.00 | Viviendas particulares habitadas que disponen ... | HIDALGO | |
| 17 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.20 | Porcentaje de analfabetas total | HIDALGO | |
| 18 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 35.85 | Porcentaje de la población de 15 años y más co... | HIDALGO | ||
| 19 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.58 | Porcentaje de población de 25 años y más alfabeta | HIDALGO | ||
| 20 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 4543258.00 | Viviendas particulares habitadas que disponen ... | EDOMEX | |
| 21 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.34 | Porcentaje de analfabetas total | EDOMEX | |
| 22 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 27.50 | Porcentaje de la población de 15 años y más co... | EDOMEX | ||
| 23 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 96.21 | Porcentaje de población de 25 años y más alfabeta | EDOMEX | ||
| 24 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 333902.00 | Viviendas particulares habitadas que disponen ... | TLAXCALA | |
| 25 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.95 | Porcentaje de analfabetas total | TLAXCALA | |
| 26 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 28.69 | Porcentaje de la población de 15 años y más co... | TLAXCALA | ||
| 27 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.66 | Porcentaje de población de 25 años y más alfabeta | TLAXCALA | ||
| 28 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1695462.00 | Viviendas particulares habitadas que disponen ... | PUEBLA | |
| 29 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.32 | Porcentaje de analfabetas total | PUEBLA | |
| 30 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 40.17 | Porcentaje de la población de 15 años y más co... | PUEBLA | ||
| 31 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.03 | Porcentaje de población de 25 años y más alfabeta | PUEBLA |
count = len(CITIES_NAMES)
indicators_values = INDICATORS * count
indicators_values
['Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta', 'Viviendas particulares habitadas que disponen de energía eléctrica', 'Porcentaje de analfabetas total', 'Porcentaje de la población de 15 años y más con rezago educativo', 'Porcentaje de población de 25 años y más alfabeta']
df['INICATORS'] = indicators_values
df
| INDICADOR | FREQ | TOPIC | UNIT | UNIT_MULT | NOTE | SOURCE | LASTUPDATE | STATUS | VALUE | INICATORS | CITY | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 2746872.00 | Viviendas particulares habitadas que disponen ... | CDMX | |
| 1 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 1.48 | Porcentaje de analfabetas total | CDMX | |
| 2 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 20.63 | Porcentaje de la población de 15 años y más co... | CDMX | ||
| 3 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 97.92 | Porcentaje de población de 25 años y más alfabeta | CDMX | ||
| 4 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 556409.00 | Viviendas particulares habitadas que disponen ... | MORELOS | |
| 5 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.96 | Porcentaje de analfabetas total | MORELOS | |
| 6 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 31.41 | Porcentaje de la población de 15 años y más co... | MORELOS | ||
| 7 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 94.43 | Porcentaje de población de 25 años y más alfabeta | MORELOS | ||
| 8 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1573803.00 | Viviendas particulares habitadas que disponen ... | GUANAJUATO | |
| 9 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 6.35 | Porcentaje de analfabetas total | GUANAJUATO | |
| 10 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 37.89 | Porcentaje de la población de 15 años y más co... | GUANAJUATO | ||
| 11 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 93.13 | Porcentaje de población de 25 años y más alfabeta | GUANAJUATO | ||
| 12 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 661924.00 | Viviendas particulares habitadas que disponen ... | QUERETARO | |
| 13 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.54 | Porcentaje de analfabetas total | QUERETARO | |
| 14 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 29.83 | Porcentaje de la población de 15 años y más co... | QUERETARO | ||
| 15 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.51 | Porcentaje de población de 25 años y más alfabeta | QUERETARO | ||
| 16 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 847206.00 | Viviendas particulares habitadas que disponen ... | HIDALGO | |
| 17 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.20 | Porcentaje de analfabetas total | HIDALGO | |
| 18 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 35.85 | Porcentaje de la población de 15 años y más co... | HIDALGO | ||
| 19 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.58 | Porcentaje de población de 25 años y más alfabeta | HIDALGO | ||
| 20 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 4543258.00 | Viviendas particulares habitadas que disponen ... | EDOMEX | |
| 21 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.34 | Porcentaje de analfabetas total | EDOMEX | |
| 22 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 27.50 | Porcentaje de la población de 15 años y más co... | EDOMEX | ||
| 23 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 96.21 | Porcentaje de población de 25 años y más alfabeta | EDOMEX | ||
| 24 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 333902.00 | Viviendas particulares habitadas que disponen ... | TLAXCALA | |
| 25 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.95 | Porcentaje de analfabetas total | TLAXCALA | |
| 26 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 28.69 | Porcentaje de la población de 15 años y más co... | TLAXCALA | ||
| 27 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.66 | Porcentaje de población de 25 años y más alfabeta | TLAXCALA | ||
| 28 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1695462.00 | Viviendas particulares habitadas que disponen ... | PUEBLA | |
| 29 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.32 | Porcentaje de analfabetas total | PUEBLA | |
| 30 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 40.17 | Porcentaje de la población de 15 años y más co... | PUEBLA | ||
| 31 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.03 | Porcentaje de población de 25 años y más alfabeta | PUEBLA |
df['VALUE'] = pd.to_numeric(df['VALUE'])
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 32 entries, 0 to 31 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 INDICADOR 32 non-null object 1 FREQ 32 non-null object 2 TOPIC 32 non-null object 3 UNIT 32 non-null object 4 UNIT_MULT 32 non-null object 5 NOTE 32 non-null object 6 SOURCE 32 non-null object 7 LASTUPDATE 32 non-null object 8 STATUS 32 non-null object 9 VALUE 32 non-null float64 10 INICATORS 32 non-null object 11 CITY 32 non-null object dtypes: float64(1), object(11) memory usage: 3.1+ KB
df['VALUE'] = round(df['VALUE'], 2)
df
| INDICADOR | FREQ | TOPIC | UNIT | UNIT_MULT | NOTE | SOURCE | LASTUPDATE | STATUS | VALUE | INICATORS | CITY | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 2746872.00 | Viviendas particulares habitadas que disponen ... | CDMX | |
| 1 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 1.48 | Porcentaje de analfabetas total | CDMX | |
| 2 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 20.63 | Porcentaje de la población de 15 años y más co... | CDMX | ||
| 3 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 97.92 | Porcentaje de población de 25 años y más alfabeta | CDMX | ||
| 4 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 556409.00 | Viviendas particulares habitadas que disponen ... | MORELOS | |
| 5 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.96 | Porcentaje de analfabetas total | MORELOS | |
| 6 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 31.41 | Porcentaje de la población de 15 años y más co... | MORELOS | ||
| 7 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 94.43 | Porcentaje de población de 25 años y más alfabeta | MORELOS | ||
| 8 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1573803.00 | Viviendas particulares habitadas que disponen ... | GUANAJUATO | |
| 9 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 6.35 | Porcentaje de analfabetas total | GUANAJUATO | |
| 10 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 37.89 | Porcentaje de la población de 15 años y más co... | GUANAJUATO | ||
| 11 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 93.13 | Porcentaje de población de 25 años y más alfabeta | GUANAJUATO | ||
| 12 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 661924.00 | Viviendas particulares habitadas que disponen ... | QUERETARO | |
| 13 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 4.54 | Porcentaje de analfabetas total | QUERETARO | |
| 14 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 29.83 | Porcentaje de la población de 15 años y más co... | QUERETARO | ||
| 15 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.51 | Porcentaje de población de 25 años y más alfabeta | QUERETARO | ||
| 16 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 847206.00 | Viviendas particulares habitadas que disponen ... | HIDALGO | |
| 17 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.20 | Porcentaje de analfabetas total | HIDALGO | |
| 18 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 35.85 | Porcentaje de la población de 15 años y más co... | HIDALGO | ||
| 19 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.58 | Porcentaje de población de 25 años y más alfabeta | HIDALGO | ||
| 20 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 4543258.00 | Viviendas particulares habitadas que disponen ... | EDOMEX | |
| 21 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.34 | Porcentaje de analfabetas total | EDOMEX | |
| 22 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 27.50 | Porcentaje de la población de 15 años y más co... | EDOMEX | ||
| 23 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 96.21 | Porcentaje de población de 25 años y más alfabeta | EDOMEX | ||
| 24 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 333902.00 | Viviendas particulares habitadas que disponen ... | TLAXCALA | |
| 25 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 3.95 | Porcentaje de analfabetas total | TLAXCALA | |
| 26 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 28.69 | Porcentaje de la población de 15 años y más co... | TLAXCALA | ||
| 27 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 95.66 | Porcentaje de población de 25 años y más alfabeta | TLAXCALA | ||
| 28 | 1003000017 | 7 | 56 | 250 | 10,12,395 | 2,3,343,487,3001 | 25/05/2022 | 3 | 1695462.00 | Viviendas particulares habitadas que disponen ... | PUEBLA | |
| 29 | 3108001001 | 7 | 15 | 3 | 174 | 1714,20118 | 03/04/2018 | 3 | 8.32 | Porcentaje de analfabetas total | PUEBLA | |
| 30 | 6200240391 | 3 | 15 | 3 | 1695,2179,2773,2785 | 20/06/2018 | 3 | 40.17 | Porcentaje de la población de 15 años y más co... | PUEBLA | ||
| 31 | 6207019010 | 7 | 15 | 3 | 1714,3001 | 24/01/2021 | 3 | 91.03 | Porcentaje de población de 25 años y más alfabeta | PUEBLA |
df.info()
<class 'pandas.core.frame.DataFrame'> RangeIndex: 32 entries, 0 to 31 Data columns (total 12 columns): # Column Non-Null Count Dtype --- ------ -------------- ----- 0 INDICADOR 32 non-null object 1 FREQ 32 non-null object 2 TOPIC 32 non-null object 3 UNIT 32 non-null object 4 UNIT_MULT 32 non-null object 5 NOTE 32 non-null object 6 SOURCE 32 non-null object 7 LASTUPDATE 32 non-null object 8 STATUS 32 non-null object 9 VALUE 32 non-null float64 10 INICATORS 32 non-null object 11 CITY 32 non-null object dtypes: float64(1), object(11) memory usage: 3.1+ KB
df_indicadores = pd.DataFrame(INDICATORS, columns=['VALUES'])
df_ciudades = pd.DataFrame(CITIES_NAMES, columns=['VALUES'])
df_electric_service = df[ df['INICATORS'] == 'Viviendas particulares habitadas que disponen de energía eléctrica']
df_analfabetas = df[ df['INICATORS'] == 'Porcentaje de analfabetas total']
df_15_rezago = df[ df['INICATORS'] == 'Porcentaje de la población de 15 años y más con rezago educativo']
df_25_alfabeta = df[ df['INICATORS'] == 'Porcentaje de población de 25 años y más alfabeta']
conn_string = 'postgresql://xxx:xxx@Localhost:xxx/xxx'
db = create_engine(conn_string)
conn = db.connect()
df_electric_service.to_sql('electric_service', con=conn, if_exists='replace', index=True)
df_analfabetas.to_sql('analfabetas', con=conn, if_exists='replace', index=True)
df_15_rezago.to_sql('rezago15', con=conn, if_exists='replace', index=True)
df_25_alfabeta.to_sql('alfabeta25', con=conn, if_exists='replace', index=True)
df_indicadores.to_sql('indicadores', con=conn, if_exists='replace', index=True)
df_ciudades.to_sql('ciudades', con=conn, if_exists='replace', index=True)
conn = psycopg2.connect(conn_string)
conn.autocommit = True
cursor = conn.cursor()
sql1 = '''select * from electric_service;'''
cursor.execute(sql1)
for i in cursor.fetchall():
print(i)
# conn.commit()
conn.close()
(0, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 2746872.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'CDMX') (4, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 556409.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'MORELOS') (8, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 1573803.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'GUANAJUATO') (12, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 661924.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'QUERETARO') (16, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 847206.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'HIDALGO') (20, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 4543258.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'EDOMEX') (24, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 333902.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'TLAXCALA') (28, '1003000017', '7', '56', '250', '', '10,12,395', '2,3,343,487,3001', '25/05/2022', '3', 1695462.0, 'Viviendas particulares habitadas que disponen de energía eléctrica', 'PUEBLA')