Files
fn_registry/functions/datascience/pivot.md
T
egutierrez 988e901066 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.0 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 go datascience 1.0.0 pure func Pivot(rows []map[string]any, index, columns, values, agg string) []map[string]any Pivot table sin dependencias. 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). Valores faltantes se rellenan con 0.
datascience
tabular
pivot
transform
aggregation
go
false
name desc
rows slice de mapas columna-valor (ej: resultado de load_csv o fetch_data_frame)
name desc
index nombre de columna que se convierte en fila (ej: 'region')
name desc
columns nombre de columna cuyos valores únicos se convierten en nuevas columnas (ej: 'product')
name desc
values nombre de columna con valores a agregar (ej: 'sales')
name desc
agg función de agregación: 'sum', 'count', 'mean', 'min', 'max', 'first', 'last'
slice de mapas pivotados donde cada fila agrupa por index, con nuevas columnas por cada valor unique de columns true
Pivot basico con sum
Pivot con count y mean
Valores faltantes rellenados con 0
Una sola fila
Multiples valores por celda requieren agregacion
functions/datascience/pivot_test.go functions/datascience/pivot.go

Ejemplo

rows := []map[string]any{
    {"region": "US", "product": "A", "sales": 10},
    {"region": "US", "product": "B", "sales": 20},
    {"region": "EU", "product": "A", "sales": 15},
}
result := Pivot(rows, "region", "product", "sales", "sum")
// [{"region": "US", "A": 10.0, "B": 20.0}, {"region": "EU", "A": 15.0, "B": 0}]

Notas

Funcion pura sin dependencias externas. Usa map[string]any para trabajar con datos JSON/SQL deserializados. Las agregaciones numericas (sum, mean, min, max) convierten valores a float64 via type assertion.