pub enum Column {
Numeric {
values: Vec<f64>,
validity: ValidityBitmap,
},
Boolean {
values: Vec<bool>,
validity: ValidityBitmap,
},
Categorical {
dictionary: Vec<String>,
indices: Vec<u32>,
validity: ValidityBitmap,
},
Text {
values: Vec<String>,
validity: ValidityBitmap,
},
}Expand description
A typed column with validity bitmap for missing values.
All variants store values in a dense array alongside a
ValidityBitmap. Invalid positions hold a default value
(0.0, false, empty string, or index 0) that should be ignored.
Variants§
Numeric
Dense f64 values. Null positions hold 0.0.
Boolean
Boolean values. Null positions hold false.
Categorical
Dictionary-encoded categorical column.
dictionary contains unique string values.
indices maps each row to a dictionary index.
Null positions have index 0 (ignored via validity bit).
Text
Free-form text column. Null positions hold an empty string.
Implementations§
Source§impl Column
impl Column
Sourcepub fn numeric(values: Vec<f64>, validity: ValidityBitmap) -> Self
pub fn numeric(values: Vec<f64>, validity: ValidityBitmap) -> Self
Creates a numeric column.
Sourcepub fn boolean(values: Vec<bool>, validity: ValidityBitmap) -> Self
pub fn boolean(values: Vec<bool>, validity: ValidityBitmap) -> Self
Creates a boolean column.
Sourcepub fn categorical(
dictionary: Vec<String>,
indices: Vec<u32>,
validity: ValidityBitmap,
) -> Self
pub fn categorical( dictionary: Vec<String>, indices: Vec<u32>, validity: ValidityBitmap, ) -> Self
Creates a categorical column from a dictionary and indices.
Sourcepub fn text(values: Vec<String>, validity: ValidityBitmap) -> Self
pub fn text(values: Vec<String>, validity: ValidityBitmap) -> Self
Creates a text column.
Sourcepub fn validity(&self) -> &ValidityBitmap
pub fn validity(&self) -> &ValidityBitmap
Returns a reference to the validity bitmap.
Sourcepub fn null_count(&self) -> usize
pub fn null_count(&self) -> usize
Returns the number of null values.
Sourcepub fn valid_count(&self) -> usize
pub fn valid_count(&self) -> usize
Returns the number of valid (non-null) values.
Sourcepub fn is_valid(&self, idx: usize) -> bool
pub fn is_valid(&self, idx: usize) -> bool
Returns true if the value at idx is valid (not null).
Sourcepub fn as_numeric(&self) -> Option<&[f64]>
pub fn as_numeric(&self) -> Option<&[f64]>
Returns the numeric values, or None if not a numeric column.
Sourcepub fn as_boolean(&self) -> Option<&[bool]>
pub fn as_boolean(&self) -> Option<&[bool]>
Returns the boolean values, or None if not a boolean column.
Sourcepub fn valid_numeric_values(&self) -> Option<Vec<f64>>
pub fn valid_numeric_values(&self) -> Option<Vec<f64>>
Returns valid numeric values (nulls excluded) as a new Vec<f64>.
Sourcepub fn category_at(&self, idx: usize) -> Option<&str>
pub fn category_at(&self, idx: usize) -> Option<&str>
Returns the category string for a given row index in a categorical column.