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 FolderCtrl+Shift+O
Open FileCtrl+O(Dataprep)
Group NodesCtrl+G(Dataprep)
UnGroup NodesCtrl+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 Marginagrega 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
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 nombreIN2con 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_in4ydf_in5como unDataFramedePandas.Solo se puede escribir una salida, que obligatoriamente debe ser un dataframe
Pandas, para rescatarlo en el puerto de salida llama a la funciónvtg_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