tlc.core.objects.tables.from_table.reduced_table
#
A procedural table where an input table has been reduced on one or more properties.
Module Contents#
Classes#
Class |
Description |
---|---|
A procedural table where an input table has been reduced on one or more properties. |
API#
- class tlc.core.objects.tables.from_table.reduced_table.ReducedTable(url: tlc.core.url.Url | None = None, created: str | None = None, description: str | None = None, row_cache_url: tlc.core.url.Url | None = None, row_cache_populated: bool | None = None, reduce_properties: list[str] | None = None, input_table_url: tlc.core.url.Url | tlc.core.objects.table.Table | None = None, init_parameters: Any = None, input_tables: list[tlc.core.url.Url] | None = None)#
Bases:
tlc.core.objects.tables.in_memory_rows_table._InMemoryRowsTable
A procedural table where an input table has been reduced on one or more properties.
The reduction is performed by grouping all rows that have the same set of values, eg example_id, and then performing a reduction on each group. Currently the only reduction supported is average (mean) with some special handling for string and boolean value types.
Example:
from tlc.core import * # create a table with two columns, example_id and value table = TableFromPydict(data={"example_id": [1, 1, 2, 2], "value": [1, 2, 3, 4]}) # reduce the table by example_id, averaging the value column reduced_table = ReducedTable(input_table_url=table, reduce_properties=["example_id"]) for row in reduced_table.table_rows: print(row) # prints: # {'example_id': 1, 'value': 1.5} # {'example_id': 2, 'value': 3.5}
- Parameters:
url – The URL of the table.
created – The creation time of the table.
description – The description of the table.
row_cache_url – The URL of the row cache.
row_cache_populated – Whether the row cache is populated.
override_table_rows_schema – The schema to override the table rows schema.
init_parameters – The initial parameters of the table.
input_tables – A list of Table URLs that are considered direct predecessors in this table’s lineage. This parameter serves as an explicit mechanism for tracking table relationships beyond the automatic lineage tracing typically managed by subclasses.