FiscalPY
Funciones para limpieza de datasets fiscales en Colombia (por ahora solo incluye territorial y presupuesto general de la nación).
Instalación
pip install fiscalpy
¿Cómo usarla?
Presupuesto nacional
Para la limpieza del presupuesto nacional, se cuenta con dos funciones limpieza_gastos_pgn y limpieza_ingresos_pgn. Es importante que los datos provengan directamente de la página del Ministerio de Hacienda y Crédito Público de Colombia, y que la primera fila de los datasets sea la que da los nombres a las columnas.
Para emplearlo:
from fiscalpy import limpieza_gastos_pgn, limpieza_ingresos_pgn
import pandas as pd
gastos = pd.read_excel('gastos.xlsx')
rentas = pd.read_excel('rentas.xlsx')
gastos_limpios = limpieza_gastos_pgn(gastos)
rentas_limpias = limpieza_ingresos_pgn(gastos)
El resultado en cada caso son datasets normalizados, preparados para análisis descriptivo, tanto estadístico como gráfico.
Territorial
Se tienen tres funciones: limpieza_ingresos_territoriales, limpieza_gastos_territoriales, columnas_ingresos_territoriales
from fiscalpy import limpieza_ingresos_territoriales, limpieza_gastos_territoriales
Tanto la función de limpieza_ingresos_territoriales como de limpieza_gastos_territoriales soportan la normalización de los datos de ingresos y gastos, de ejecución y de programación, de las entidades territoriales. Lo primero que se debe hacer es importar los datasets con ayuda de pandas. Asegúrese de que la importación se realice de manera correcta o la función no se ejecutará correctamente.
Una vez se hayan importando los datos se puede utilizar la función apropiada para cada caso:
import pandas as pd
from fiscalpy import limpieza_ingresos_territoriales
df = pd.read_excel('datos_ejecucion_2025.xlsx')
norm_data = limpieza_ingresos_territoriales(df, tipo='ejecucion')
En el argumento tipo de cada función se debe especificar si se está trabajando con datos de ejecución o con datos de programación.
La función de columnas_ingresos_territoriales permite generar tres columnas para las columnas de ingreso que agregan la información a partir de tres criterios. El primero agrega la información en tres categorías:
- Recursos propios
- Transferencias
- Recursos de capital
La segunda agrega la información en cuatro categorías:
- Ingresos tributarios
- Ingresos no tribugtarios
- Transferencias
- Recursos de capital
La tercera agrega la información teniendo en cuenta las fuentes de ingresos más relevantes tanto para municipios como para departamentos.
Contratación
Existe una función datos_abiertos que permite extraer información de todo tipo de la página datos.gov.co. La función permite hacer filtros de diferentes tipos:
Parameters
----------
dataset_id : str
ID Socrata del dataset, por ejemplo "abcd-1234".
token : str
App token de Socrata.
filtros : dict, optional
Diccionario de filtros.
**kwargs :
Filtros simples adicionales.
Operadores permitidos
---------------------
eq =
ne !=
gt >
gte >=
lt <
lte <=
in IN (...)
not_in NOT IN (...)
between BETWEEN ... AND ...
not_between NOT BETWEEN ... AND ...
like LIKE
not_like NOT LIKE
is_null IS NULL
not_null IS NOT NULL
"""
Un ejemplo simple de su uso sería:
dataset_id = 'jbjy-vk9h'
token = "socrata-token"
filtros = {
"nit_entidad" : {"in" : ["900948953"]},
"fecha_de_firma": {
"gte": date(2022, 1, 1),
"lt": date(2023, 1, 1)
},}
df = datos_abiertos(
dataset_id,
token,
filtros=filtros
)
Esta función traería los contratos desde el dataset de SECOP II - Contratos electrónicos de la Agencia Nacional de Tierras entre el 1ro de enero de 2022 y el 1ro de enero de 2023. Es necesario obtener un token de Socrata para agilizar las descargas.
Metadata
Release files for fiscalpy 0.0.16
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| fiscalpy-0.0.16.tar.gz | 17.5 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| fiscalpy-0.0.16-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / fiscalpy-0.0.16.tar.gz
| Download URL | fiscalpy-0.0.16.tar.gz |
|---|---|
| Size | 17.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
499ace5102ffbbcf41d3c62e4074ae5b3103ff7a4c5edb0e613c6fb7c80e7944
|
|
BLAKE2b-256 checksum How to use checksums |
a683de3111ff75a66051f4b1fba6c6f3d1daa23fdda505a5112c2fd8ceb6f2aa
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|
Release files / fiscalpy-0.0.16-py3-none-any.whl
| Download URL | fiscalpy-0.0.16-py3-none-any.whl |
|---|---|
| Size | 16.7 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
0a8ca5bd7024976dfbff51a7e5d08079c864e5219fc0f9b8b652d8b18ab1cddb
|
|
BLAKE2b-256 checksum How to use checksums |
8c4e4b376035f00171d1b6817e95ac233b2d8e969bbf401bd880291792d87710
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.7
|