.. raw:: html
#######
Modules
#######
vTarget se compone de 4 módulos pensados para acelerar y simplificar el descubrimiento de insights en casos de uso de Analítica y/o Machine Learning.
- **DataPrep:** Utiliza nodos drag & drop para preparación de datos o realizar analítica descriptiva
- **DataViz:** Convierte datos y tablas en gráficos con simples configuraciones
- **AutoML:** Modela problemas `binarios`, `multi-clase` y `regresores` en minutos
- **AutoTS:** Pronostica series de tiempo comparando múltiples modelos y pipelines con mínima configuración
********
DataPrep
********
Shortcuts
=========
* ``Open Folder`` Ctrl+Shift+O
* ``Open File`` Ctrl+O
* (Dataprep) ``Group Nodes`` Ctrl+G
* (Dataprep) ``UnGroup Nodes`` Ctrl+Shift+O
Nodes
=====
IN/OUT
------
|Input| Input
^^^^^^^^^^^^^
.. |Input| raw:: html
Agrega fuentes de datos a tu flujo, conectando archivos ``csv``, ``xlsx``, ``json`` y ``txt`` desde tu sistema de archivos.
|Output| Output
^^^^^^^^^^^^^^^
.. |Output| raw:: html
Exporta la tabla de salida de cualquier nodo a un archivo local en formato ``csv`` o ``excel``
|vOutput| vOutput
^^^^^^^^^^^^^^^^^
.. |vOutput| raw:: html
Permite conectar la tabla de salida de un nodo a los módulos `DataViz <#>`_, `AutoML <#>`_ y `AutoTS <#>`_ sin necesidad de exportar un archivo y volverlo a leer. De este modo, se reutiliza el mismo espacio de memoria RAM que ya está utilizado por esa data
PREPARATION
-----------
|Filter| Filter
^^^^^^^^^^^^^^^
.. |Filter| raw:: html
Obtiene un subconjunto de filas aplicando una condición por alguna una columna. Los operadores disponibles varían según el tipo de dato seleccionado.
.. note::
En caso de requerir escribir una condición más compleja, puedes utilizar el área ``Custom Filter`` y mantener la sintaxis de pandas. Considera que tu variable que contiene el dataframe (tabla de salida) se llama ``df``.
.. code-block:: python
(df["COLUMN_A"] > 2) & (df["COLUMN_B"] < 10)
En términos de código, lo de arriba representa esta parte de la estructura:
``df = df[]``
|FORMULA| Formula
^^^^^^^^^^^^^^^^^
.. |FORMULA| raw:: html
Permite realizar operaciones sobre una o múltiples columnas, ya sea actualizar el valor de una columna, o bien crear una columna nueva.
- **Output Column**: Elige la columna sobre la cual deseas operar. Por defecto está seleccionado *New Column* para agregar una nueva columna con la expresión que ingreses.
- **New Column Name**: Asigna un nombre a la nueva columna, solo si *Output Column* tiene seleccionada la opción *New Column*
- **Sentence**: permite ingresar cualquier sentencia siguiendo la sintaxis de `pandas <#>`_.
.. note::
Considera que tu variable que contiene el dataframe (tabla de salida) se llama ``df``. Aquí puedes usar cualquier librería `Built in <#>`_ de ``Python``. Algunos ejemplos de lo que podrías escribir:
.. code-block:: python
# Math operation
df['ANY_NUM_COLUMN'] * 20 + df['ANOTHER_NUM_COLUMN'] * .5
# Rounding a numeric column
round(df['ANY_NUM_COLUMN'], 2)
# Extract the start of a month
df['DATE_COL'].dt.strftime('%Y-%m-01')
# Fill null values with an empty str
df['ANY_COLUMN'].fillna('')
# Incremental counter per group
df.groupby(['ANY_COLUMN']).cumcount()+1
# Anonymous function to categorize positive and negative numbers
df['ANY_COLUMN'].apply(lambda x: 'POS' if x >= 0 else 'NEG')
En términos de código, lo que escribes representa esta parte de la estructura:
``df[OUTPUT_COLUMN or NEW_COLUMN] = ``
|SORT| Sort
^^^^^^^^^^^
.. |SORT| raw:: html
Ordena valores por una o múltiples columnas con opción ascendente o descendente
|UNIQUE| Unique
^^^^^^^^^^^^^^^
.. |UNIQUE| raw:: html
Extrae todos los valores únicos (diferentes) de una columna
|DTYPE| Dtype
^^^^^^^^^^^^^
.. |DTYPE| raw:: html
Cambia los tipos de datos o renombra una o múltiples columnas a la vez
|COLUMN| Column
^^^^^^^^^^^^^^^
.. |COLUMN| raw:: html
Selecciona o remueve columnas de una tabla de salida. También permite renombrar columnas
|ISIN| IsIn
^^^^^^^^^^^
.. |ISIN| raw:: html
Retorna todas las filas donde un elemento de la *fuente* está contenido en *valores*
|DROPDUP| Drop Duplicates
^^^^^^^^^^^^^^^^^^^^^^^^^
.. |DROPDUP| raw:: html
Remueve las filas duplicadas por una o más columnas
|DATA_CLEANSING| Cleansing
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. |DATA_CLEANSING| raw:: html
Realiza tareas de limpieza preconfigurada en las columnas seleccionadas
- **Replace Nulls**: con blancos o ceros
- **Remove Unwanted Chars**: espacios al inicio o final, tabuladores, saltos de línea, espacios en blanco duplicados, todos los espacios en blanco, letras, números
- **Modify Case**: Upper|Title|Lower case
|SWITCH| Switch
^^^^^^^^^^^^^^^^^^^^^^^^^^
.. |SWITCH| raw:: html
Permite realizar múltiples condiciones y asignar un valor a una nueva columna según la expresión.
.. warning::
Las condiciones se evalúan en orden, si la primera se cumple, no se evaluará la siguiente
.. note::
La equivalencia de este nodo corresponde a escribir esta función en `pandas <#>`_ (Python)
.. code:: python
def rule(x):
if x <= 10:
return '1 a 10'
elif x <= 20:
return '11 a 20'
elif x <= 25:
return '21 a 25'
elif x <= 30:
return '26 a 30'
else:
return '30+'
df['NEW_COLUMN'] = df['ANY_NUM_COL'].apply(rule)
JOIN
----
|CROSS| Cross
^^^^^^^^^^^^^
.. |CROSS| raw:: html
Generar una combinación emparejada de cada fila de la primera tabla con cada fila de la segunda tabla. Este tipo de unión también se conoce como unión cartesiana.
|JOIN| Multi Join
^^^^^^^^^^^^^^^^^
.. |JOIN| raw:: html
.. warning::
Esta funcionalidad aún no está implementada, pronto disponible.
|Merge| Merge
^^^^^^^^^^^^^
.. |Merge| raw:: html
Combina tablas al estilo de base de datos, especificando una o más claves para realizar la asociación y seleccionando que tipo de fusión quieres realizar ``left (L)``, ``inner (J)`` ``right (R)`` y ``outer (F)`` (Puedes seleccionar más de uno a la vez).
.. note::
La opción ``outer (F)`` agregará una columna *indicador* llamada ``_merge`` que contiene una categorización *left_only*, *right_only* o *both* dependiendo de la aparición en cada una de las tablas de entrada.
|CONCAT| Concat
^^^^^^^^^^^^^^^
.. |CONCAT| raw:: html
Permite concatenar dos tablas en el eje de índices, es decir, agrega las filas de la entrada ``B``, a continuación de la tabla de entrada ``A``
AGGREGATION
-----------
|GROUP_BY| Group By
^^^^^^^^^^^^^^^^^^^
.. |GROUP_BY| raw:: html
Agrupa una tabla de entrada por una o múltiples columnas, permitiendo seleccionar un método de agregación preestablecido según el tipo de dato, para las columnas que desees.
.. note::
Acciones de agregación disponibles
- **Summary**: sum, count, count distinct, count null, min, max, first, last
- **String**: count blank, count non blank, mode
|PIVOT| Pivot
^^^^^^^^^^^^^
.. |PIVOT| raw:: html
Gira la orientación de una tabla moviendo campos desde el eje vertical a una posición horizontal y añade un método de agregación para una columna determinada.
.. note::
Los métodos de agregación varían según el tipo de dato
- **Numeric**: sum, avg, count (without nulls), count (with nulls), percent row, percent column, total column, total row
- **String**: count blank, count non blank, mode
* La opción ``Add Margin`` agrega una sumarización total para filas y columnas*
|MELT| Melt
^^^^^^^^^^^
.. |MELT| raw:: html
Convierte los datos de formato ancho en datos de formato largo, al comprimir columnas en una sola lista.
Se usa para crear un formato específico del objeto DataFrame donde una o más columnas funcionan como identificadores (pasan a ser una categoría). Todas las columnas restantes se tratan como valores y no están pivotadas en el eje de la fila, resultando solo dos columnas: *variable* y *valor*
|CUMSUM| Cumsum
^^^^^^^^^^^^^^^
.. |CUMSUM| raw:: html
Realiza operaciones asociada a acumulación de variables numéricas, con opción de segregar la acumulación por alguna columna de agrupación. Específicamente puedes realizar estas operaciones:
- **cum count**: numeración incremental
- **cum sum**: suma incremental
- **cum pct**: porcentaje acumulado
- **pct**: porcentaje de la fila respecto al total
..
|PARSER| Parser
^^^^^^^^^^^^^^^
.. |PARSER| raw:: html
PARSER
------
|DT_FORMAT| DateTime FORMAT
^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. |DT_FORMAT| raw:: html
Transforma el tipo de dato de una columna con formato fecha, utilizando formatos preestablecidos. Realiza dos operaciones según el tipo de dato de entrada:
- **(In) String**: retorna una columna en tipo ``Datetime``
- **(In) Datetime**: retorna una columna en tipo ``String``
.. note::
Si requieres alguna configuración personalizada no presente en los formatos preestablecidos puedes agregar el tuyo siguiendo la `nomenclatura `_ de ``Python``
.. list-table:: Códigos de formato de fechas más comunes
:widths: 50 50
:header-rows: 1
* - Clave
- Valor
* - %j
- lun (día abreviado)
* - %A
- lunes (día)
* - %d
- 01 (día | 01-30)
* - %B
- enero (mes)
* - %b
- ene (mes abreviado)
* - %m
- 01 (mes | 01-12)
* - %y
- 23 (año sin siglo)
* - %Y
- 2023 (año con siglo)
* - %H
- 23 (hora formato 24 | 00-23)
* - %I
- 10 (hora formato 12 | 01-12)
* - $M
- 59 (minutos | 00-59)
* - $S
- 59 (segundos | 00-59)
|DATETIME_EXTRACT| DateTime Take
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
.. |DATETIME_EXTRACT| raw:: html
Extrae partes de un campo tipo `date` o `datetime`, las opciones preestablecidos son la obtención de ``date``, ``time``, ``year``, ``month``, ``day``, ``hour``, ``minute``, ``second``.
SCRIPT
------
|CODE| Code
^^^^^^^^^^^
.. |CODE| raw:: html
Permite escribir fragmentos de código ``Python``, teniendo en presente algunas consideraciones:
.. note::
- Los puertos de entrada de esta caja son dinámicos, es decir, si conectas un enlace a la primera salida ``IN``, automáticamente se creará una 2da con el nombre ``IN2`` con un límite de 5 puertos de entrada como máximo.
- Cada puerto de entrada estará disponible en tu script con el nombre ``df_in,`` ``df_in1``, ``df_in2``, ``df_in3``, ``df_in4`` y ``df_in5`` como un ``DataFrame`` de ``Pandas``.
- Solo se puede escribir una salida, que obligatoriamente debe ser un dataframe ``Pandas``, para rescatarlo en el puerto de salida llama a la función ``vtg_codeout(my_df)`` ya existente en el *scope* de variables de Python.
- Si requieres alguna librería que no esté incluida, al importarla se instalará automáticamente (solo la primera vez retrasará la velocidad de ejecución debido a la instalación).
.. code:: python
# Get 10 samples from the dataframe linked to the first input port
df = df_in.samples(10)
# And the samples are written to the output of the code node
vtg_codeout(df)
TIMESERIES
----------
|INTERROW| Inter Row
^^^^^^^^^^^^^^^^^^^^
.. |INTERROW| raw:: html
Realiza operaciones que involucran múltiples filas a la vez, tales como ``shift``, ``diff``, ``pct_change``. También tienes la opción de realizar la operación (shift, diff o pct_change) agrupando por alguna columna.
SUMMARY
-------
|SHAPE| shape
^^^^^^^^^^^^^
.. |SHAPE| raw:: html
Retorna la cantidad de filas y columnas que tiene una tabla de salida.
|VCOUNT| Value Count
^^^^^^^^^^^^^^^^^^^^
.. |VCOUNT| raw:: html
Realiza el recuento de valores duplicados, ya sea de una columna individual o de la mezcla de múltiples columnas
|DESCRIBE| Describe
^^^^^^^^^^^^^^^^^^^
.. |DESCRIBE| raw:: html
Genera la estadística descriptiva, que incluye un resumen de tendencia central, dispersión y la forma de la distribución de una o múltiples columnas (excluyendo los valores de NaN).
.. note::
Opciones adicionales para complementar y acelerar la exploración de datos.
- Agrupar por alguna columna determinada.
- Agregar percentiles personalizados
CHART
-----
.. warning::
Los gráficos *in-flow* no permiten graficar más información que la mostrada en la tabla de salida, que por defecto está limitado a 50 filas (puedes cambiar este límite en la configuración de cada nodo). Si necesitas ver un gráfico de toda la información, utiliza el módulo `DataViz <#>`_
|BAR| Bar
^^^^^^^^^
.. |BAR| raw:: html
Genera un gráfico de ``barras`` dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo
|LINE| Line
^^^^^^^^^^^
.. |LINE| raw:: html
Genera un gráfico de ``líneas`` dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo
|PIE| Pie
^^^^^^^^^
.. |PIE| raw:: html
Genera un gráfico de ``pie`` dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo
|SCATTER| Scatter
^^^^^^^^^^^^^^^^^
.. |SCATTER| raw:: html
Genera un gráfico de ``dispersión`` dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo
..
User Interface
==============
Navbar superior
^^^^^^^^^^^^^^^
Sidebar izquierdo
^^^^^^^^^^^^^^^^^
Paleta de nodos
^^^^^^^^^^^^^^^
Canvas de flujos
^^^^^^^^^^^^^^^^
Panel de configuración de nodos
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
Panel de resultados
^^^^^^^^^^^^^^^^^^^
*******
DataViz
*******
.. warning::
Comming soon
******
AutoML
******
.. warning::
Comming soon
******
AutoTS
******
.. warning::
Comming soon