Files
fn_registry/python/functions/datascience/melt.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

53 lines
1.9 KiB
Markdown

---
name: melt
kind: function
lang: py
domain: datascience
version: "1.0.0"
purity: pure
signature: "def melt(rows: list[dict], id_vars: list[str], value_vars: list[str] | None = None, var_name: str = 'variable', value_name: str = 'value') -> list[dict]"
description: "Inversa de pivot. Convierte columnas en filas (formato largo). Cada combinacion de id_vars + value_var genera una fila. Si value_vars es None, derrite todas las columnas no-id."
tags: [datascience, tabular, melt, unpivot, transform, python]
uses_functions: []
uses_types: []
returns: []
returns_optional: false
error_type: ""
imports: []
params:
- name: rows
desc: "lista de dicts en formato ancho (ej: [{'region': 'US', 'q1': 10, 'q2': 20}])"
- name: id_vars
desc: "lista de columnas a mantener como identificadores (ej: ['region']). No se derriten."
- name: value_vars
desc: "lista de columnas a derretir (ej: ['q1', 'q2']). Si None, derrite todas excepto id_vars."
- name: var_name
desc: "nombre de la columna que contendra los nombres de columnas derretidas (defecto: 'variable')"
- name: value_name
desc: "nombre de la columna que contendra los valores (defecto: 'value')"
output: "lista de dicts en formato largo, donde cada id_var + value_var genera una fila"
tested: true
tests:
- "Melt basico"
- "Multiples id_vars"
- "value_vars None derrite todas las columnas no-id"
- "Fila con campo faltante en value_vars"
test_file_path: "python/functions/datascience/melt_test.py"
file_path: "python/functions/datascience/melt.py"
---
## Ejemplo
```python
rows = [{"region": "US", "q1": 10, "q2": 20}]
melt(rows, id_vars=["region"], value_vars=["q1", "q2"])
# [{"region": "US", "variable": "q1", "value": 10},
# {"region": "US", "variable": "q2", "value": 20}]
```
## Notas
Funcion pura sin dependencias externas.
Si un campo de value_vars no existe en la fila, su valor sera None.
El parametro value_vars=None es util cuando se desconoce el schema exacto.