.. 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