use crate::prelude::*;
pub enum GenericSeriesContainer {
I64(Series<i64>),
F64(Series<f64>),
I32(Series<i32>),
F32(Series<f32>),
STRING(Series<String>),
}
impl GenericSeriesContainer {
pub fn into_string_vec(self) -> Vec<String> {
match self {
GenericSeriesContainer::I64(series) => series.into_type::<String>().unwrap().into_vec(),
GenericSeriesContainer::F64(series) => series.into_type::<String>().unwrap().into_vec(),
GenericSeriesContainer::I32(series) => series.into_type::<String>().unwrap().into_vec(),
GenericSeriesContainer::F32(series) => series.into_type::<String>().unwrap().into_vec(),
GenericSeriesContainer::STRING(series) => series.into_vec(),
}
}
}
#[derive(Debug, Clone)]
pub struct SeriesMeta {
pub name: String,
pub len: usize,
pub dtype: DType,
}
impl<T: BlackJackData> From<&Series<T>> for SeriesMeta {
fn from(series: &Series<T>) -> SeriesMeta {
SeriesMeta {
name: series.name().unwrap(),
len: series.len(),
dtype: series.dtype().unwrap(),
}
}
}