Skip to main content

Consultor del api del Banco de México y del Instituto Nacional de Estadística y Geografía

Project description

Logo

Data Mx

data_mx es una librería construida en Python con la finalidad de consultar datos públicos de México, para el Api del Banco de México (Banxico) y el Instituto Nacional de Estadística y Geografía (INEGI) . Estas dos instituciones publican información de la economía real como financiera.

data_mx esta construida a partir de pandas por lo que las consultas retornadas son pd.Dataframe(), teniendo asi integración con otras librerías como Matplotlib, Seaborn o Statsmodels.

Tabla de contenidos

---
title: Diagrama de Data Mx
---

flowchart LR
    A["Data_mx"] --> B["Banxico"]
    B --Token del Banco de México --> C["SIE"]
    A --> D["INEGI"]
    D -- Token del INEGI --> E["Banco de Indicadores
    BIE
    BISE"]
    A--> F["Auxiliar"]
    F --> G["rename
    group_by_time"]

Donde:

API INEGI

Puedes obtener un Token en la siguiente URL, mientras que los indicadores los puedes consultar en API, en la misma página se consultan tanto el BIE y BISE.

Banco de Información Económica (BIE)

En el BIE se encuentra información del PIB por el lado de la demanda y de la oferta, Índices de precios, Cuentas nacionales, Tasas de ocupación y desocupación, así como Encuestas periódicas que realiza esta institución como la ENOE, EMOE, EMIM, ENEC, entre otros.

Ejemplo PIB y sectores económicos

Consulta parámetros obligatorios

Indicadores:

  • Producto Interno Bruto: 735879
  • Actividades primarias: 735882
  • Actividades secundarias: 735883
  • Actividades terciarias: 735888
from data_mx.inegi import banco_de_indicadores

# Parametros 
token= 'tu token'
indbie = '735879,735882,735883,735888'

# Consulta 
inegi = banco_de_indicadores(token)
bie1 = inegi.request(var=indbie, bank='BIE')
bie1.head()
TIME_PERIOD 735879 735882 735883 735888
0 1980-01-01 1.040137e+07 419192.590 4014172.291 5383811.941
1 1980-02-01 1.034235e+07 386092.639 4003454.651 5369491.411
2 1980-03-01 1.039273e+07 424698.389 4131481.268 5257710.872
3 1980-04-01 1.092767e+07 412868.415 4149062.192 5745881.173
4 1981-01-01 1.134585e+07 438850.326 4412239.779 5856656.820
Consulta no parámetros obligatorios
# Parametros 
name = ['pib', 'act_1', 'act_2', 'act_3']
inicio = '2018-04-01' 
fin = '2022-01-01' 

# Consulta 
bie2 = banco_de_indicadores(token).request(var=indbie, bank='BIE', name=name, start = inicio, end = fin)
bie2.head()
fecha pib act_1 act_2 act_3
9 2021-01-01 2.284084e+07 758035.123 7265140.515 1.360932e+07
10 2021-02-01 2.362332e+07 872394.447 7396306.801 1.406373e+07
11 2021-03-01 2.320473e+07 720485.108 7417864.609 1.381038e+07
12 2021-04-01 2.395044e+07 957920.499 7449600.892 1.427720e+07
13 2022-01-01 2.344404e+07 762523.258 7576903.255 1.381633e+07

Banco de indicadores (BISE)

En el BISE resume los indicadores más importantes de las encuestas recabadas por el INEGI como, por ejemplo:

  • ENIGH (Encuesta de Ingreso y Gasto de los Hogares) el ingreso promedio trimestral por hogar según el decil.
  • Censos de población destaca población total, por género o rango de edades.

También hay variables cualitativas de Educación, Economía, Geografía, Gobierno y Salud.

Ejemplo: Población

Indicadores:

  • Población total: 1002000001
# Parametros
indbise = '1002000001' 
name = ['pop_tot']

# Consulta 
bise = inegi.request(var=indbise, bank='BISE', name=name)
bise.tail()
fecha pop_tot
10 2000-01-01 97483412.0
11 2005-01-01 103263388.0
12 2010-01-01 112336538.0
13 2015-01-01 119938473.0
14 2020-01-01 126014024.0

API Banco de México

Puedes obtener un Token en la siguiente URL, mientras que los indicadores los puedes consultar en API

Sistema de información Económica (SIE)

En el SIE principalmente se puede encontrar información financiera como Tasas de interés, UDIS, Base Monetaria, Tipo de Cambio, Subastas de Valores o Encuestas realizadas por esta institución, así como el índice de precios, PIB o Indicadores laborales que son elaborados por otras instituciones.

Ejemplo: Consulta de la Base Monetaria, Crédito Interno y Activos Internacionales

Indicadores:

  • Base Monetaria (BM): SF43703
  • Activos Internacionales (AIC): SF43704
  • Crédito Interno (CIN): SF43706
### Token
from data_mx.banxico import sie
tokenbm = 'tu token'

# A partir de esta se realiza la consulta 
banxico = sie(tokenbm)

# Indicadores 
var = 'SF43703,SF43704,SF43706'

# Consulta 
bm = banxico.request(var= var)
bm.tail()
fecha Crédito Interno Neto Base Monetaria Activos Internacionales Netos
1512 2024-12-13 -1455509.3 3223066.4 4678575.7
1513 2024-12-20 -1399500.7 3254478.2 4653978.9
1514 2024-12-27 -1403433.5 3294743.7 4698177.2
1515 2025-01-03 -1493095.0 3304980.1 4798075.1
1516 2025-01-10 -1497493.5 3298100.4 4795593.9

Otras Funciones

Estos son una serie de códigos auxiliares que facilitan el procesamiento de las consultas.

Rename

La función rename cambia los valores de los encabezados de un data frame mediante el index.

### Libreria
from data_mx.data_format import rename

### Renombrar variables 
names = ['fecha','BM', 'CIN', 'AIC']
bm = rename(bm, names)
bm.head()
fecha BM CIN AIC
0 1995-12-29 -264.4 67073.1 66808.6
1 1996-01-05 7304.2 56069.6 63373.8
2 1996-01-12 10199.0 52025.7 62224.7
3 1996-01-19 8593.1 51371.0 59964.1
4 1996-01-26 8360.1 49270.0 57630.1

Group_by_time

La función group_by_time() es un fork de la función pandas.DataFrame.groupby(), está únicamente funciona con consultas realizadas con esta librería. La finalidad de esta función es agrupar los datos según el mes o año.

### Libreria
from data_mx.data_format import group_by_time 

### Base Monetaria por meses 
bm_m = group_by_time(bm, False, 'mean')
bm_m.tail()
fecha BM CIN AIC
345 2024-09-01 4525193.625 -1453882.950 3071310.675
346 2024-10-01 4511781.675 -1445313.150 3066468.525
347 2024-11-01 4664126.300 -1537982.600 3126143.700
348 2024-12-01 4683622.925 -1441827.175 3241795.750
349 2025-01-01 4796834.500 -1495294.250 3301540.250

Nota: Esta librería no asociada con el Banco de México o el Instituto Nacional de Estadística y Geografía.

Project details


Release history Release notifications | RSS feed

This version

1.0

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

datos_mx-1.0-py3-none-any.whl (11.5 kB view details)

Uploaded Python 3

File details

Details for the file datos_mx-1.0-py3-none-any.whl.

File metadata

  • Download URL: datos_mx-1.0-py3-none-any.whl
  • Upload date:
  • Size: 11.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.4

File hashes

Hashes for datos_mx-1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 1cc7ee80bfbe7051e6b1075ae9a5d3504bff5b02dfe4eeeb8459ef9d9609384b
MD5 f9117efb887524c89c99a3322bcbb550
BLAKE2b-256 2b1a9f71598637c8d61dea92bee191e0536ac674511ae3571b45765ba0af22ff

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page