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
Obtener el URL del IPC (Cuadro 9)
>>> from bccr import PW >>> PW.api(9)
URL para datos del M1 desde enero de 2010
>>> PW.api(125, FechaInicio=2010)
URL para datos del IPC no transable (Cuadro 289) entre 2010 y 2015
>>> PW.api(289, FechaInicio=2010, FechaFinal=2015)
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)
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.
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()
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)