988e901066
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.
53 lines
1.9 KiB
Markdown
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.
|