VJoin Table

../../../../../_images/vjoin_table.svg

Vertical join of two Tables.

For convenience, it is possible to duplicate the second port. This makes it possible to join several inputs using one nodes.

Opposite node:VSplit Table
Ref. nodes:VJoin Tables pairwise, VJoin Tables
Input ports:
port1:

table

Input Table

port2:

table

Input Table

Output ports:
port1:

table

Joined Table

Configuration:
Complement missing columns (fill)
Select if columns that are not represented in all Tables should be complemented
Complement strategy (fill_strategy)
When “Complement with nan or empty string” is selected missing columns will be replaced by columns of nan or empty strings. When “Mask missing values” is selected missing columns will be result in masked values
Output index (output_index)
Specify name for output index column. If left empty, no index column will be created
Increment for empty tables (minimum_increment)
Specify the increment in the outgoing index column for tables with no rows. Either 1 or 0.

The operation of vertical join, or VJoin, stacks the columns from the incoming Tables that have the same name vertically upon each other, under the condition that they exist in all Tables. If the condition is fulfilled the number of rows in the outgoing Table will be equal to the sum of the number of rows in the incoming Tables. If there exist no overlap over all Tables the output will be an empty Table.

In the GUI it is possible to override the overlap requirement and let the node work in a state where the output will include all columns that exist in the incoming Tables. The columns that do not exist in all Tables are either ignored, created as a “masked” value, or complemented with default values. The strategy for this is decided by the “Complement missing columns”-checkbox as well as the “Complement-strategy” combo options. In the case of complementing with a value a column with numerical values is filled with NaNs while for a column with strings the elements it is filled with empty strings.

When the columns stacked have different types, the node will try to find a result type to accommodate the new values. For example, combining an integer and a boolean would result in an integer column with the boolean values translated from False to 0 and True to 1. LIMITATION: If the types differ and part of the column is date-time or time-delta no resulting type can be found.

An index column will be created in the outgoing Table if a name is specified for the column in the GUI, by default the index column has the name “VJoin-index”. In the index column, elements in the joined output that originate from the same incoming Table will be given the same index number. If one wants to do the reversed operation, VSplit Table, the index column is important. No index column will be created if the specified name is an empty string.

In the GUI it is also possible to specify the name of an incoming index column, a column with information about previous VJoin operations. If the specified index column exists in the incoming Tables the information of the previous join operations will be regarded when the new index column is constructed. The new index column will replace the old ones in the output of the node.

An increment will be applied to the outgoing index column if there exist incoming Tables with the number of rows equal to zero. The size of this increment can be specified in the GUI of the node, where default value is 0. The vertical join, or VJoin, is one of two operations that merge the content of a number of Tables into a new Table. The other operation in this category is the horizontal join, see HJoin Table to obtain more information.

class node_vjoin_tables.VJoinTableNode[source]