Files
fn_registry/python/functions/datascience/pivot.md
egutierrez 5f4f1f7508 docs: params/output semántico en 506 funciones para composabilidad
Añade campos params y output al frontmatter YAML de las 506 funciones del registry.
Cada parámetro tiene descripción semántica (qué representa, unidades, rango típico)
y cada función describe qué produce su output. Permite a agentes razonar sobre
cadenas de composición (ej: prices → log_return → sharpe_ratio) sin leer código.
2026-04-05 18:45:16 +02:00

2.1 KiB

name, kind, lang, domain, version, purity, signature, description, tags, uses_functions, uses_types, returns, returns_optional, error_type, imports, params, output, tested, tests, test_file_path, file_path
name kind lang domain version purity signature description tags uses_functions uses_types returns returns_optional error_type imports params output tested tests test_file_path file_path
pivot function py datascience 1.0.0 pure def pivot(rows: list[dict], index: str, columns: str, values: str, agg: str = 'sum') -> list[dict] Pivot table sin pandas. Agrupa por index, expande valores unicos de columns como nuevas columnas y agrega values con la funcion indicada (sum, count, mean, min, max, first, last).
datascience
tabular
pivot
transform
aggregation
python
false
collections
name desc
rows lista de dicts en formato largo (ej: [{'region': 'US', 'product': 'A', 'sales': 10}, ...])
name desc
index columna que sera el indice de filas en la tabla pivote (ej: 'region'). Valores unicos -> filas.
name desc
columns columna cuyos valores unicos se expanden como nuevas columnas (ej: 'product'). Valores unicos -> columnas.
name desc
values columna con los valores a agregar en las celdas (ej: 'sales')
name desc
agg funcion de agregacion si hay multiples valores por celda (defecto: 'sum'). Otras: count, mean, min, max, first, last.
lista de dicts en formato ancho, donde el indice y las columnas expandidas forman el schema true
Pivot basico con sum
Pivot con count y mean
Valores faltantes rellenados con 0
Una sola fila
Multiples valores por celda requieren agregacion
python/functions/datascience/pivot_test.py python/functions/datascience/pivot.py

Ejemplo

rows = [
    {"region": "US", "product": "A", "sales": 10},
    {"region": "US", "product": "B", "sales": 20},
    {"region": "EU", "product": "A", "sales": 15},
]
pivot(rows, index="region", columns="product", values="sales")
# [{"region": "US", "A": 10, "B": 20}, {"region": "EU", "A": 15, "B": 0}]

Notas

Funcion pura sin dependencias externas (solo collections.defaultdict de stdlib). Preserva el orden de aparicion de los valores de index y columns. Valores numericos faltantes se rellenan con 0; no numericos con None.