merge_sorted
merge_sorted
combines two or more tables into one sorted, aggregate table. This essentially stacks the tables one on top of the other and sorts the result. Null tables are ignored. merge_sorted
is more efficient than using merge
followed by sort
.
Syntax
merge_sorted(tables: list[Table], order_by: str) -> Table
Parameters
Parameter | Type | Description |
---|---|---|
tables | list[Table] | Source tables to be merged.
|
order_by | str | The column by which to sort the merged table. |
Returns
A new table with the source tables stacked one on top of the other and sorted by the specified column.
Examples
In the following example, source1
is stacked on top of source2
, and the result is sorted based on the Number
column.
from deephaven import merge_sorted, new_table
from deephaven.column import int_col, string_col
source1 = new_table(
[string_col("Letter", ["A", "D", "E"]), int_col("Number", [3, 4, 7])]
)
source2 = new_table(
[string_col("Letter", ["B", "C", "D"]), int_col("Number", [1, 2, 5])]
)
result = merge_sorted([source1, source2], "Letter")
- source1
- source2
- result
In the following example, three tables are merged and sorted based on the Number
column.
from deephaven import merge_sorted, new_table
from deephaven.column import int_col, string_col
source1 = new_table(
[string_col("Letter", ["A", "C", "G"]), int_col("Number", [1, 6, 9])]
)
source2 = new_table(
[string_col("Letter", ["B", "D", "G"]), int_col("Number", [3, 5, 8])]
)
source3 = new_table(
[string_col("Letter", ["D", "E", "F"]), int_col("Number", [2, 4, 7])]
)
result = merge_sorted([source1, source2, source3], "Number")
- source1
- source2
- source3
- result