Data Frames

The DataFrame<R, C> class represents typed-indexed tabular data. A data frame has a typed row index, a typed column index, and one vector for each column. Columns can have different element types, while all columns share the same row space.

Data frames can be inspected through schema snapshots, addressed through reusable column selectors, annotated with dataframe-owned column roles, and summarized with aggregation descriptors. These features preserve typed row and column keys while giving common dataframe workflows a concise API.

Overview

In this section:

Modern dataframe workflow

A schema snapshot returned by GetSchema() describes the current column keys, ordinals, element types, and metadata. Schema objects are read-only inspection objects; they do not mutate dataframe metadata.

A ColumnSelector is a reusable column-selection request. Selectors resolve against schema metadata, not vector values, and return distinct columns in schema order. They can select by explicit key, element type, categorical metadata, role, or predicate.

Column roles are dataframe-owned metadata. A column can be marked as a feature, target, grouping key, weight, identifier, or another supported role without changing the underlying vector. Role metadata follows columns through operations that preserve column identity.

Aggregation descriptors created by the static Aggregation class describe aggregation requests. The descriptor API is the modern dataframe aggregation workflow; older aggregator-group APIs remain available for lower-level or compatibility scenarios.

See Also