DataFrame = ref object columns*: OrderedTable[string, Series] index*: seq[string] shape*: tuple[rows, cols: int]
DataType = enum dtInt, dtFloat, dtString, dtBool, dtDateTime
GroupedDataFrame = ref object groups*: OrderedTable[string, DataFrame] groupByColumn*: string
Series = ref object data*: seq[Value] name*: string dtype*: DataType index*: seq[string]
Value = object case kind*: DataType of dtInt: intVal*: int64 of dtFloat: floatVal*: float64 of dtString: stringVal*: string of dtBool: boolVal*: bool of dtDateTime: dateTimeVal*: DateTime