okfn-brasil /
serenata-notebooks
Notebooks from Operação Serenata de Amor | ** Este repositório não recebe atualizações frequentes **
Loading repository data…
EquipoAnaliticaXM / repository
Este repositorio se crea con el fin de compartir herramientas de consulta para extraer información relevante del Mercado de Energía Mayorista colombiano
Este repositorio se crea con el fin de compartir herramientas de consulta para extraer información relevante del Mercado de Energía Mayorista colombiano usando las librerías asociadas a las api XM y api SIMEM. A partir de esta guía, el lector estará en capacidad de construir clientes que consuman el servicio utilizando la herramienta de su preferencia: python, excel con VBA o directamente la api.
Para utilizar la API XM no se requiere gestionar ningún usuario o clave
El equipo de Analítica ha diseñado herramientas para consumir el servicio en los siguientes lenguajes:
| Lenguaje | Nombre | Tipo | Instalación | Habilidad requerida |
|---|---|---|---|---|
| Python | pydataxm | Librería | $ pip install pydataxm | Low Code |
| Excel (VBA) | Consulta_API_SINERGOX_XM.xlsm | Macro | No Aplica | No Code |
| Excel (VBA) | Consulta_API_SIMEM.xlsm | Macro | No Aplica | No Code |
[!WARNING] La librería pydataxm es compatible con versiones superior o iguales a python 3.10.4
Cada página web de información tiene objetos de python relacionados directamente, se pueden utilizar con la misma librería y realizando los importes correspondientes.
pip install pydataxm
También se puede clonar el repositorio en la ruta de preferencia:
git clone https://github.com/EquipoAnaliticaXM/API_XM.git "C:\Users\Public\Documents"
Importación en proyecto
from pydataxm.pydatasimem import ReadSIMEM, CatalogSIMEM
[!IMPORTANT] El objeto de los catálogos funciona diferente al objeto de lectura de conjuntos de datos.
Se puede solicitar la información utilizando el objeto asociado a los catálogos de la página. Instanciar la clase guarda toda la información en atributos que pueden leerse utilizando las funciones .get_atributo
# Importación
from pydataxm.pydatasimem import CatalogSIMEM
# Crear una instancia de catalogo con el tipo
catalogo_conjuntos = CatalogSIMEM('Datasets')
# Extraer información a utilizar
print("Nombre: ", catalogo_conjuntos.get_name())
print("Metadata: ", catalogo_conjuntos.get_metadata())
print("Columnas: ", catalogo_conjuntos.get_columns())
# Dataframe con información de los conjuntos de datos
data = catalogo_conjuntos.get_data()
print(data)
# Importación
from pydataxm.pydatasimem import CatalogSIMEM
# Crear una instancia de catalogo con el tipo
catalogo_vbles = CatalogSIMEM('variables')
# Extraer información a utilizar
print("Nombre: ", catalogo_vbles.get_name())
print("Metadata: ", catalogo_vbles.get_metadata())
print("Columnas: ", catalogo_vbles.get_columns())
# Dataframe con información de las variables
data = catalogo_vbles.get_data()
print(data)
[!NOTE] La ejecución del snippet con las fechas definidas tarda entre 1 y 2 minutos en ejecutar completamente. Se recomienda usar un cuaderno Jupyter similar a los ejemplos.
El siguiente snippet busca el conjunto asociado a la generación real y realiza una consulta para unas fechas arbitrarias sin el uso de los filtros.
# Importación
from pydataxm.pydatasimem import ReadSIMEM, CatalogSIMEM
# Buscar el id del conjunto de datos
catalogo = CatalogSIMEM('Datasets')
data_catalogo = catalogo.get_data()
print(data_catalogo.query("nombreConjuntoDatos.str.contains('Generación Real')"))
# Crear una instancia de ReadSIMEM
dataset_id = 'E17D25'
fecha_inicio = '2024-04-01'
fecha_fin = '2024-04-30'
generacion = ReadSIMEM(dataset_id, fecha_inicio, fecha_fin)
# Recuperar datos
data = generacion.main(filter=False)
print(data)
Importación en proyecto
from pydataxm.pydataxm import ReadDB
Para conocer el listado de métricas disponibles se puede consultar el método get_collections() como se muestra a continuación:
from pydataxm.pydataxm import ReadDB
# Construir la clase que contiene los métodos de pydataxm
objetoAPI = pydataxm.ReadDB()
objetoAPI.get_collections()
Otra herramienta que se puede utilizar para obtener información de las API disponibles, son los archivos de excel publicados en el repositorio
En ListadoVariables se puede realizar la búsqueda del dataset necesario en relación a la variable; por ejemplo, si se desea conocer la Demanda real voy a tener disponible los conjuntos con datasetID c1b851 y b7917; los cuales se diferencian en la cantidad de desagregaciones disponibles, con uno de estos ID y las fechas para extraer datos se puede realizar la solicitud en la hoja Princpal, que además de presentar los datos en la sección inferior, muestra información relacionada al conjunto de datos consultado.
La hoja1 y hoja2 presentan 2 ejemplos de información disponible; la casilla "NombreMetrica" o "Variable" permite elegir entre una lista desplegable los datos que se desean extraer; la única otra opción disponible es la casilla "Filtro" donde se puede realizar un filtrado a través del campo que presenta en "Desagregación".
[!IMPORTANT] El campo fechas puede ser modificado pero no puede superar los días máximos que condiciona automáticamente cada variable.
También se pueden utilizar los enlaces directos con herramientas alternativas a las presentadas en el repositorio usando los enlaces y métodos disponibles.
[!WARNING] Ambas APIs tienen restricciones para evitar la congestión del servicio, si se desean utilizar de forma directa, recuerde considerar esta información.
[!IMPORTANT] El formato de fecha que recibe la API es YYYY-MM-DD
Las restricciones existen en relación a la granularidad de cada conjunto de datos. La cantidad de días se mide con la diferencia entre el parámetro startDate y endDate.
Se utiliza el método GET para traer la información utilizando el siguiente enlace:
[!IMPORTANT] El parámetro datasetid es obligatorio para cualquier consulta.
https://www.simem.co/backend-files/api/PublicData?datasetid={}
Parámetros:
Con el fin de no congestionar el servicio, se han establecido restricciones a las consultas así:
A continuación, se listan las variables que se encuentran disponibles para su consulta, las cuales se encuentran clasificadas por tema:
Selected from shared topics, language and repository description—not editorial ratings.
okfn-brasil /
Notebooks from Operação Serenata de Amor | ** Este repositório não recebe atualizações frequentes **
bcamandone /
En este repositorio vas a encontrar análisis realizados en Jupyter Notebook utilizando una variedad de poderosas bibliotecas de Python, entre las cuales se incluyen pandas, numpy, matplotlib, seaborn
fhernanb /
:snake: En este repositorio se presentan lecciones de Python para hacer estadística
DaveSimoes /
Este repositório tem como objetivo ser apenas mais uma ferramenta para ajudar a todos os que desejam se tornar Desenvolvedores Backend
Este repositorio contiene los archivos necesarios para realizar una lista de asistencia usando el reconocimiento facial, el programa genera una base de datos donde se registra la fecha, hora y nombre del rostro reconocido. Los datos son guardados en una base de datos y posteriormente se crea un archivo pdf con los datos de la asistencia. pdf
JackerManXD /
Este repositorio contiene un bot de Telegram construido con Python que permite a los usuarios buscar y obtener metadatos de videos en xnxx.com. El bot utiliza BeautifulSoup para realizar web scraping en los resultados de búsqueda de xnxx.com y extraer enlaces a videos, imágenes y metadatos del video