Skip to main content

Loop para cargar datasets

Propósito

Construir rutas a partir de combinaciones (fuente/unidad/tiempo), validar existencia y cargar muestras (nrows) en un diccionario {filename: DataFrame} para inspección rápida.

Variante 1 — tiempo fijo (ej. T=4)

import pandas as pd, os

base_dir = "/path/reg_data"
sources = ["acled", "afb_places", "CN", "WBad", "WBkg"]
units = ["a1", "a2", "a3", "l1", "l2", "l3"]
years = [2000, 2001]

datasets = {}
for src in sources:
for unit in units:
for yr in years:
fn = f"agg_{src}_africa_{unit}_4y{yr}_year.csv"
fp = os.path.join(base_dir, fn)
if os.path.exists(fp):
datasets[fn] = pd.read_csv(fp, nrows=5)

Variante 2 — tiempos combinados (2–4 años)

import pandas as pd, os

base_dir = "/path/reg_data"
sources = ["acled", "afb_places", "CN", "WBad", "WBkg"]
units = ["a1", "a2", "a3", "l1", "l2", "l3"]
times = [f"{i}y{yr}" for i in range(2, 5) for yr in [2000, 2001]]

datasets = {}
for src in sources:
for unit in units:
for t in times:
fn = f"agg_{src}_africa_{unit}_{t}_year.csv"
fp = os.path.join(base_dir, fn)
if os.path.exists(fp):
datasets[fn] = pd.read_csv(fp, nrows=5)

Consejos

  • nrows acelera iteración inicial; al escalar, considerar dtypes y usecols.
  • Si la carpeta es grande, preferí glob para listar y filtrar por patrón.
  • Para testear pipelines, exportá samples representativos y usá estos loops como smoke tests.

QA mínimo

  • len(datasets) coincide con cantidad de archivos existentes que matchean patrón.
  • Validar columnas mínimas esperadas por fuente/unidad (asserts con set.issubset).