Pagina Web

La clase PaginaWeb se define en el módulo pagina que documenta en esta página.

La forma típica de utilizar esta clase es

>>> from bccr import PW
>>> PW.buscar("nombre de algún indicador")
>>> datos = PW(indic1 = codigo1, indic2=codigo2)

donde codigo1 y codigo2 son los códigos de los indicadorees (posiblemente encontrados con PW.buscar), y indic1 e indic2 los nombres que se le quiere asignar a estos indicadores.

En la documentación que sigue a continuación aparecen más ejemplos. En esta página se muestra un cuaderno de Jupyter que ilustra el uso de esta clase.



pagina: Un módulo para definir la clase PaginaWeb

Este módulo define la clase PaginaWeb y crea una instancia de la misma, PW. Esta clase permite buscar y descargar cuadros de indicadores del sitio web del Banco Central de Costa Rica. (https://www.bccr.fi.cr/indicadores-economicos/) .

La forma usual de utilizar esta clase es

>>> from bccr import PW
  • para buscar el código de algún indicador de interés, utilice

>>> PW.buscar("nombre de un indicador")
  • para descargar datos de cuadros 3, 4 y 22 (por ejemplo), hay varias formas de hacerlo

>>> PW(indicA=4, indicB=7, indicC=231) # pasando los códigos como valores de parámetros, en
        cuyo caso los indicadores son renombrados como 'indicA', 'indicB' y 'indicC', respectivamente.
>>> PW(3, 4, 22)   # pasando los códigos directamente
bccr.pagina.PW = Clase PaginaWeb: permite buscar y descargar datos del sitio de indicadores económicos del Banco Central de Costa Rica.

Este es un objeto de clase PaginaWeb con parámetros de inicialización predeterminados. Puede importarse en una sesión simplemente con from bccr import PW.

Type

bccr.PaginaWeb

class bccr.pagina.PaginaWeb(cuadros: pandas.core.frame.DataFrame)
api(Cuadro, *, FechaInicio=None, FechaFinal=None, excel=True, abrir=False)

Construye un URL para obtener datos del sitio de indicadores económicos del BCCR

Parámetros
  • Cuadro (int) – Número que identifica el cuadro que desea descargarse del sitio web del BCCR

  • FechaInicio (str or int, optional) – fecha de la primera observación a descargar. Ver nota 1 de la función datos para detalles de formato.

  • FechaFinal (str or int, optional) – fecha de la última observación a descargar. Ver nota 1 de la función datos para detalles de formato.

  • excel (bool (opcional, predeterminado = True)) – Si True, obtiene la versión Excel de los datos, False obtiene la versión HTML

  • abrir (bool (opcional, predeterminado = True)) – Si True, abre la página web indicada por el URL en el navegador de internet predeterminado

Devuelve

El URL para descargar los datos del cuadro indicado

Tipo del valor devuelto

str

Ejemplos

  1. Obtener el URL del IPC (Cuadro 9)

>>> from bccr import PW
>>> PW.api(9)

https://gee.bccr.fi.cr/indicadoreseconomicos/Cuadros/frmVerCatCuadro.aspx?CodCuadro=9&Exportar=True&Excel=True

  1. URL para datos del M1 desde enero de 2010

>>> PW.api(125, FechaInicio=2010)

https://gee.bccr.fi.cr/indicadoreseconomicos/Cuadros/frmVerCatCuadro.aspx?CodCuadro=125&FecInicial=2010/01/01&Exportar=True&Excel=True

  1. URL para datos del IPC no transable (Cuadro 289) entre 2010 y 2015

>>> PW.api(289, FechaInicio=2010, FechaFinal=2015)

https://gee.bccr.fi.cr/indicadoreseconomicos/Cuadros/frmVerCatCuadro.aspx?CodCuadro=289&FecInicial=2010/01/01&FecFinal=2015/12/31&Exportar=True&Excel=True

  1. URL para el M1 entre 2010 y 2015, pero en formato HTML (en vez del formato Excel predeterminado)

>>> PW.api(125, FechaInicio=2010, FechaFinal=2015, excel=False)

https://gee.bccr.fi.cr/indicadoreseconomicos/Cuadros/frmVerCatCuadro.aspx?CodCuadro=125&FecInicial=2010/01/01&FecFinal=2015/12/31

  1. Igual que el anterior, pero usando fechas predeterminadas. La opción abrir=True muestra los datos en su navegador de internet predeterminado

>>> PW.api(125, excel=False, abrir=True)  # opens link in browser

https://gee.bccr.fi.cr/indicadoreseconomicos/Cuadros/frmVerCatCuadro.aspx?CodCuadro=125

buscar(todos=None, *, frase=None, algunos=None, frecuencia=None)

buscar códigos de indicadores según su descripción

Parámetros
  • frase (str) – texto que debe aparecer en la descripción del indicador. Sólo una de estos tres parámetros debe utilizarse a la vez. “frase” busca una coincidencia exacta, “todos” que todas las palabras aparezcan (en cualquier orden), “algunos” que al menos una de las palabras aparezca. La búsqueda no es sensible a mayúscula/minúscula. Si no se indica un parámetro [por ejemplo, PW.buscar(“precios consumidor”)], se asume que PW.buscar(todos=”precio consumidor”)

  • todos (str) – texto que debe aparecer en la descripción del indicador. Sólo una de estos tres parámetros debe utilizarse a la vez. “frase” busca una coincidencia exacta, “todos” que todas las palabras aparezcan (en cualquier orden), “algunos” que al menos una de las palabras aparezca. La búsqueda no es sensible a mayúscula/minúscula. Si no se indica un parámetro [por ejemplo, PW.buscar(“precios consumidor”)], se asume que PW.buscar(todos=”precio consumidor”)

  • algunos (str) – texto que debe aparecer en la descripción del indicador. Sólo una de estos tres parámetros debe utilizarse a la vez. “frase” busca una coincidencia exacta, “todos” que todas las palabras aparezcan (en cualquier orden), “algunos” que al menos una de las palabras aparezca. La búsqueda no es sensible a mayúscula/minúscula. Si no se indica un parámetro [por ejemplo, PW.buscar(“precios consumidor”)], se asume que PW.buscar(todos=”precio consumidor”)

  • frecuencia (str, optional. uno de ('Q', 'A', 'M', 'D')) – mostrar solo indicadores que tengan la frecuencia indicada.

Devuelve

Tipo del valor devuelto

pd.DataFrame

Ejemplos

Para buscar un indicador que tenga todas las palabras «Índice», «precios», «consumidor» (en cualquier orden)

>>> from bccr import PW
>>> PW.buscar(todos="Índice precios consumidor")

Para buscar un indicador que tenga la frase exacta «Índice de Precios al Consumidor»

>>> PW.buscar(frase="Índice de Precios al Consumidor")

Para buscar un indicador que tenga al menos una de las palabras «exportaciones» e «importaciones»

>>> PW.buscar(algunos="exportaciones importaciones")

Para buscar los términos «precios transables», y filtrar que muestre solo resultados con medida «Variación interanual»

>>> PW.buscar('precios transables', Medida='Variación interanual')

Para mostrar un breve mensaje de ayuda

>>> PW.buscar()
datos(*Cuadros, FechaInicio=None, FechaFinal=None, func=<function sum>, freq=None, info=False, **indicadores)

Descargar datos del sitio de Indicadores Económicos del BCCR

Construye una consulta por método GET a partir de los parámetros proporcionados, para cada uno de los Indicadores solicitados. Descarga los datos, los transforma en una tabla de datos de Pandas. Si hay indicadores de distintas frecuecias, los transforma a la misma frecuencia según el método indicado.

Parámetros
  • Cuadros (sucesión de enteros o strings) – Los códigos numéricos (como int o str) de los cuadros que se desean descargar (ver parámetro indicadores). En el resultado, el indicador se identifica con el nombre que tiene en el catálogo de cuentas; en caso de querer indicar un nombre distinto, solicitar el cuadro usando el parámetro indicadores

  • FechaInicio (str or int, optional) – fecha de la primera observación a descargar. Ver nota 6 abajo para más detalles.

  • FechaFinal (str or int, optional) – fecha de la última observación a descargar. Ver nota 6 abajo para más detalles.

  • func

  • freq (str, optional) – frecuencia a la que se quiere convertir los datos. Si este parámetro no se indica y se requieren series de distintas frecuencias, el resultado será un Data.Frame con la menor periodicidad de las series solicitadas.

  • info (bool, optional (default=False)) – Si True, se imprime metadata del cuadro descargado, así como un hipervículo para consultar los datos en el sitio de Internet del BCCR

  • indicadores (pares de nombre=codigo, de los cuadros requeridos) – Este es el método preferible para indicar las series requeridas (en vez del parámetro Códigos). Las series se enumeran como pares de nombre=codigo, donde nombre es el nombre que tendrá el indicador en el DataFrame resultante, y codigo es un número entero que identifica el cuadro en la página de indicadores económicos del BCCR.

Devuelve

una tabla con los datos solicitados, filas indexadas por tiempo, cada columna es un indicador.

Tipo del valor devuelto

pd.DataFrame

Notas

1. Esta función construye un URL a partir de los parámetros proporcionados, para cada uno de los Indicadores solicitados. Descarga los datos, los transforma en una tabla de datos de Pandas.

  1. Si hay indicadores de distintas frecuecias, los transforma a la misma frecuencia según el método indicado.

3. A excepción de *Cuadros, todos los parámetros deben usar palabra clave, aunque es preferible usar el parámetro indicadores en vez de *Cuadros. (Ver los ejemplos)

4. Hay varias maneras de indicar los Indicadores: (a) simplemente enumerándolos, (b) en una lista o tupla, y (c) en un diccionario (método obsoleto, es mejor usar el parámetro indicadores). En caso de tratarse de diccionario, los códigos se indican como las llaves del diccionario, mientras que los valores del diccionario se usan para renombrar las columnas resultantes.

5. Las instancias de la clase PaginaWeb son ejecutables: si se llaman como una función, simplemente ejecutan la función datos()

  1. El formato de fechas es muy flexible. Por ejemplo, todas estas expresiones son válidas:

  • Para indicar el año 2015: se puede emplear tanto un int como un str

>>>   FechaInicio = 2015 # se interpreta como  1 de enero de 2015
>>>   FechaFinal = "2015"  # se interpreta como 31 de diciembre de 2015
  • Para indicar el mes marzo de 2017: cualquiera de estas expresiones es válida

>>> "2017-03"
>>> "2017/03"
>>> "2017m3"
>>> "03/2017"
>>> "03-2017"

En FechaInicio= resulta en 1 de marzo de 2017, en FechaFinal= resulta en 31 de marzo de 2017.

  • Para indicar el 12 de agosto de 2018:

>>> "2017/8/12"
>>> "2017-08-12"
>>> "12/8/2017"

Observe que para separar los componentes de una fecha se puede usar cualquier caracter no numérico (usualmente / o -).

Ejemplos

La forma preferible de solicitar los indicadores es como pares de nombre=cuadro, de manera que nombre se utilice como encabezado de columna en la tabla de datos resultante:

>>> from bccr import PW
>>> SW(M1=125, Npp=177)
soporte(cuadro)

Indica si un cuadro específico puede descargarse con PaginaWeb

Parámetros

cuadro (int o str) – Número de cuadro que se desea verificar

Devuelve

Tipo del valor devuelto

bool

web(Cuadro)

Abre el cuadro especificado en el sitio del BCCR, usando el navegador de Internet predeterminado.

Parámetros

Cuadro (int or str) – Número de cuadro que se desea verificar

Devuelve

Tipo del valor devuelto

None

Ejemplos

Para abrir el cuadro 125

>>> self.web(125)