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#

Agrega fuentes de datos a tu flujo, conectando archivos csv, xlsx, json y txt desde tu sistema de archivos.

Output#

Exporta la tabla de salida de cualquier nodo a un archivo local en formato csv o excel

vOutput#

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#

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.

Nota

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.

(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[<YOUR_CONDITION>]

Formula#

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.

Nota

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:

# 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] = <YOUR_SENTENCE>

Sort#

Ordena valores por una o múltiples columnas con opción ascendente o descendente

Unique#

Extrae todos los valores únicos (diferentes) de una columna

Dtype#

Cambia los tipos de datos o renombra una o múltiples columnas a la vez

Column#

Selecciona o remueve columnas de una tabla de salida. También permite renombrar columnas

IsIn#

Retorna todas las filas donde un elemento de la fuente está contenido en valores

Drop Duplicates#

Remueve las filas duplicadas por una o más columnas

Cleansing#

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#

Permite realizar múltiples condiciones y asignar un valor a una nueva columna según la expresión.

Advertencia

Las condiciones se evalúan en orden, si la primera se cumple, no se evaluará la siguiente

Nota

La equivalencia de este nodo corresponde a escribir esta función en pandas (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#

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.

Multi Join#

Advertencia

Esta funcionalidad aún no está implementada, pronto disponible.

Merge#

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

Nota

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#

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#

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.

Nota

Acciones de agregación disponibles

  • Summary: sum, count, count distinct, count null, min, max, first, last

  • String: count blank, count non blank, mode

Pivot#

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.

Nota

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#

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#

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#

DateTime FORMAT#

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

Nota

Si requieres alguna configuración personalizada no presente en los formatos preestablecidos puedes agregar el tuyo siguiendo la nomenclatura de Python

Códigos de formato de fechas más comunes#

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 Take#

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#

Permite escribir fragmentos de código Python, teniendo en presente algunas consideraciones:

Nota

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

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

Inter Row#

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#

Retorna la cantidad de filas y columnas que tiene una tabla de salida.

Value Count#

Realiza el recuento de valores duplicados, ya sea de una columna individual o de la mezcla de múltiples columnas

Describe#

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

Nota

Opciones adicionales para complementar y acelerar la exploración de datos.

  • Agrupar por alguna columna determinada.

  • Agregar percentiles personalizados

CHART#

Advertencia

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#

Genera un gráfico de barras dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo

Line#

Genera un gráfico de líneas dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo

Pie#

Genera un gráfico de pie dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo

Scatter#

Genera un gráfico de dispersión dentro del mismo flujo, pudiendo moverlo y posicionarlo igual que cualquier otro nodo

DataViz#

Advertencia

Comming soon

AutoML#

Advertencia

Comming soon

AutoTS#

Advertencia

Comming soon