Files
fn_registry/python/functions/datascience/aggregate_by_group.md
T
egutierrez a03675113a chore: auto-commit (286 archivos)
- .claude/agents/fn-orquestador/SKILL.md
- .claude/commands/fn_claude.md
- .claude/rules/INDEX.md
- .claude/rules/cpp_apps.md
- .claude/rules/ids_naming.md
- CHANGELOG.md
- apps/dag_engine/README.md
- apps/dag_engine/api.go
- apps/dag_engine/dags_migrated/example.yaml
- apps/dag_engine/dags_migrated/example_lineage_tracking.yaml
- ...

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-16 16:33:22 +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
aggregate_by_group function py datascience 1.0.0 pure def aggregate_by_group(rows: list[dict], group_by: list[str], aggs: dict[str, str]) -> list[dict] GROUP BY + agregaciones sobre datos tabulares. aggs es un dict de columna a funcion (sum, mean, count, min, max, first, last, collect). collect acumula valores en lista. None se ignora en agregaciones numericas.
datascience
tabular
groupby
aggregate
transform
python
pendiente-usar
transformer
false
collections
name desc
rows lista de dicts donde cada dict representa una fila (ej: [{'dept': 'eng', 'salary': 100}, ...])
name desc
group_by lista de nombres de columnas para agrupar (ej: ['dept']). Pueden ser multiples columnas.
name desc
aggs dict de columna -> funcion de agregacion (ej: {'salary': 'mean'}). Soporta: sum, mean, count, min, max, first, last, collect
lista de dicts donde cada dict es un grupo con sus resultados de agregacion true
Group by una columna con sum
Group by multiples columnas
Agregacion mean count min max
collect acumula en lista
Grupo con una sola fila
Campo con None se ignora en agregaciones numericas
python/functions/datascience/aggregate_by_group_test.py python/functions/datascience/aggregate_by_group.py

Ejemplo

rows = [
    {"dept": "eng", "salary": 100},
    {"dept": "eng", "salary": 120},
    {"dept": "sales", "salary": 80},
]
aggregate_by_group(rows, group_by=["dept"], aggs={"salary": "mean"})
# [{"dept": "eng", "salary": 110.0}, {"dept": "sales", "salary": 80.0}]

Notas

Funcion pura sin dependencias externas (solo collections.defaultdict de stdlib). Preserva el orden de primera aparicion de cada grupo. La funcion 'collect' no filtra None — acumula todos los valores incluyendo None.