Skip to main content

ColumnData

Enum ColumnData 

Source
pub enum ColumnData {
    Numeric(Array1<f64>),
    Integer(Array1<i64>),
    String(Array1<String>),
    Bytes(Array2<u8>),
}
Expand description

The values of one column, in the type the source uses.

Every variant except ColumnData::Bytes holds one value per sample. Bytes holds one row per sample, for a source whose columns have no individual names.

§Examples

use dataset_ml::table::ColumnData;
use ndarray::array;

let counts = ColumnData::Integer(array![3, 5, 8]);
assert_eq!(counts.len(), 3);
assert_eq!(counts.kind(), "integer");
assert_eq!(counts.width(), 1);

Variants§

§

Numeric(Array1<f64>)

A value with a fraction. A missing value is f64::NAN.

§

Integer(Array1<i64>)

A whole number.

§

String(Array1<String>)

Text, spelled as the source spells it. A missing value is the empty string, unless the dataset documents its own token.

§

Bytes(Array2<u8>)

A fixed-width row of unsigned bytes per sample, such as the pixels of an image. The columns inside the row have no individual names.

Implementations§

Source§

impl ColumnData

Source

pub fn len(&self) -> usize

The number of samples the column holds.

§Returns
  • usize - the sample count. For ColumnData::Bytes, this is the number of rows, not the number of bytes.
Source

pub fn is_empty(&self) -> bool

Whether the column holds no sample.

§Returns
  • bool - true if the column holds no sample, and false if it holds at least one.
Source

pub fn kind(&self) -> &'static str

The name of the variant this column holds.

§Returns
  • &'static str - one of "numeric", "integer", "string", or "bytes".
§Notes

Table::numeric_matrix puts this name in the error it returns for a column it cannot read as a number.

Source

pub fn width(&self) -> usize

The number of values this column contributes to one row of a matrix.

§Returns
  • usize - the row width. Every variant contributes 1, except ColumnData::Bytes, which contributes the number of bytes in one of its rows.

Trait Implementations§

Source§

impl Clone for ColumnData

Source§

fn clone(&self) -> ColumnData

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for ColumnData

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for ColumnData

Source§

fn eq(&self, other: &ColumnData) -> bool

Equality operator ==. Read more
1.0.0 (const: unstable) · Source§

fn ne(&self, other: &Rhs) -> bool

Inequality operator !=. Read more
Source§

impl StructuralPartialEq for ColumnData

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.