Skip to main content
Version: 1.7.0

concat

def concat(items: Iterable[TdType], how: ConcatMethod = 'vertical') -> TdType

Categories: union

Combine multiple TableFrames by stacking their rows.

Parameters

parameter
items

The TableFrames to concatenate.

parameter
how

{'vertical', 'vertical_relaxed', 'diagonal', 'diagonal_relaxed'} * vertical: Appends the rows of each input below the previous one. All inputs must have exactly the same column names and types; otherwise the operation fails. * vertical_relaxed: Same as vertical, but if columns with the same name have different data types across inputs, they are converted to a common type (e.g. Int32 → Int64). * diagonal: Aligns columns by name across all inputs. If a column is missing from a particular input, that input is padded with null values for the missing column. Matching columns keep their original type if consistent. * diagonal_relaxed: Same as diagonal, but when matching columns have different data types, they are converted to a common type (e.g. Int32 → Int64).

Examples

>>> import tabsdata as td
>>>
>>> tf1: td.TableFrame ...
>>>
┌──────┬──────┐
│ a ┆ b │
------
str ┆ i64 │
╞══════╪══════╡
│ a ┆ 1
│ b ┆ 2
└──────┴──────┘
>>>
>>> tf2: td.TableFrame ...
>>>
┌──────┬──────┐
│ a ┆ b │
------
str ┆ i64 │
╞══════╪══════╡
│ x ┆ 10
│ y ┆ 20
└──────┴──────┘
>>>
>>> tf = td.concat([tf1, tf2])
>>>
┌──────┬──────┐
│ a ┆ b │
------
str ┆ i64 │
╞══════╪══════╡
│ a ┆ 1
│ b ┆ 2
│ x ┆ 10
│ y ┆ 20
└──────┴──────┘