dataframe 3.2.0.1 → 3.3.0.0
raw patch · 13 files changed
+123/−110 lines, 13 filesdep ~dataframedep ~dataframe-coredep ~dataframe-csvPVP ok
version bump matches the API change (PVP)
Dependency ranges changed: dataframe, dataframe-core, dataframe-csv, dataframe-csv-th, dataframe-expr-serializer, dataframe-fastcsv, dataframe-json, dataframe-lazy, dataframe-learn, dataframe-operations, dataframe-parquet, dataframe-parquet-th, dataframe-parsing, dataframe-th, dataframe-viz
API changes (from Hackage documentation)
- DataFrame.Typed: data Column (name :: Symbol) a
- DataFrame: schemaColumnNames :: forall (cols :: [Type]). KnownSchema cols => [Text]
+ DataFrame: schemaColumnNames :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => [Text]
- DataFrame: type Schema a :: [Type];
+ DataFrame: type Schema a :: [(Symbol, Type)];
- DataFrame: type family Schema a :: [Type]
+ DataFrame: type family Schema a :: [(Symbol, Type)]
- DataFrame.Typed: (.&&.) :: forall (cols :: [Type]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
+ DataFrame.Typed: (.&&.) :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
- DataFrame.Typed: (.*) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
+ DataFrame.Typed: (.*) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
- DataFrame.Typed: (.+) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
+ DataFrame.Typed: (.+) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
- DataFrame.Typed: (.-) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
+ DataFrame.Typed: (.-) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b (Promote (BaseType a) (BaseType b)) (WidenResult a b), Num (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResult a b)
- DataFrame.Typed: (./) :: forall a b (cols :: [Type]). (DivWidenOp (BaseType a) (BaseType b), NullLift2Op a b (PromoteDiv (BaseType a) (BaseType b)) (WidenResultDiv a b), Fractional (PromoteDiv (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResultDiv a b)
+ DataFrame.Typed: (./) :: forall a b (cols :: [(Symbol, Type)]). (DivWidenOp (BaseType a) (BaseType b), NullLift2Op a b (PromoteDiv (BaseType a) (BaseType b)) (WidenResultDiv a b), Fractional (PromoteDiv (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (WidenResultDiv a b)
- DataFrame.Typed: (./=) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (./=) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (./=.) :: forall a (cols :: [Type]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (./=.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.<) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.<) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.<.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.<.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.<=) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.<=) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.<=.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.<=.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.==) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.==) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Eq (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.==.) :: forall a (cols :: [Type]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.==.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Eq a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.>) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.>) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.>.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.>.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.>=) :: forall a b (cols :: [Type]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
+ DataFrame.Typed: (.>=) :: forall a b (cols :: [(Symbol, Type)]). (NumericWidenOp (BaseType a) (BaseType b), NullLift2Op a b Bool (NullCmpResult a b), Ord (Promote (BaseType a) (BaseType b))) => TExpr cols a -> TExpr cols b -> TExpr cols (NullCmpResult a b)
- DataFrame.Typed: (.>=.) :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
+ DataFrame.Typed: (.>=.) :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols Bool
- DataFrame.Typed: (.||.) :: forall (cols :: [Type]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
+ DataFrame.Typed: (.||.) :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TExpr cols Bool -> TExpr cols Bool
- DataFrame.Typed: (|||) :: forall (left :: [Type]) (right :: [Type]). AssertDisjoint left right => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (Append left right)
+ DataFrame.Typed: (|||) :: forall (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). AssertDisjoint left right => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (Append left right)
- DataFrame.Typed: TExpr :: Expr a -> TExpr (cols :: [Type]) a
+ DataFrame.Typed: TExpr :: Expr a -> TExpr (cols :: [(Symbol, Type)]) a
- DataFrame.Typed: [Asc] :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: [Asc] :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: [Desc] :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: [Desc] :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: [unTExpr] :: TExpr (cols :: [Type]) a -> Expr a
+ DataFrame.Typed: [unTExpr] :: TExpr (cols :: [(Symbol, Type)]) a -> Expr a
- DataFrame.Typed: aggregate :: forall (keys :: [Symbol]) (cols :: [Type]) (aggs :: [Type]). (TAgg keys cols ('[] :: [Type]) -> TAgg keys cols aggs) -> TypedGrouped keys cols -> TypedDataFrame (Append (GroupKeyColumns keys cols) (Reverse aggs))
+ DataFrame.Typed: aggregate :: forall (keys :: [Symbol]) (cols :: [(Symbol, Type)]) (aggs :: [(Symbol, Type)]). (TAgg keys cols ('[] :: [(Symbol, Type)]) -> TAgg keys cols aggs) -> TypedGrouped keys cols -> TypedDataFrame (Append (GroupKeyColumns keys cols) (Reverse aggs))
- DataFrame.Typed: aggregateUntyped :: forall (keys :: [Symbol]) (cols :: [Type]). [NamedExpr] -> TypedGrouped keys cols -> DataFrame
+ DataFrame.Typed: aggregateUntyped :: forall (keys :: [Symbol]) (cols :: [(Symbol, Type)]). [NamedExpr] -> TypedGrouped keys cols -> DataFrame
- DataFrame.Typed: append :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: append :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: applyAtIndex :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => Int -> (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: applyAtIndex :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => Int -> (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: applyColumn :: forall (name :: Symbol) a b (cols :: [Type]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> TypedDataFrame (SetColumnType name b cols)
+ DataFrame.Typed: applyColumn :: forall (name :: Symbol) a b (cols :: [(Symbol, Type)]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> TypedDataFrame (SetColumnType name b cols)
- DataFrame.Typed: applyMany :: forall (names :: [Symbol]) a (cols :: [Type]). (AllKnownSymbol names, Columnable a, AssertAllColumnsHaveType names a cols) => (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: applyMany :: forall (names :: [Symbol]) a (cols :: [(Symbol, Type)]). (AllKnownSymbol names, Columnable a, AssertAllColumnsHaveType names a cols) => (a -> a) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: applyWhere :: forall (filterName :: Symbol) (targetName :: Symbol) a b (cols :: [Type]). (KnownSymbol filterName, KnownSymbol targetName, a ~ SafeLookup filterName cols, b ~ SafeLookup targetName cols, Columnable a, Columnable b, AssertPresent filterName cols, AssertPresent targetName cols) => (a -> Bool) -> (b -> b) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: applyWhere :: forall (filterName :: Symbol) (targetName :: Symbol) a b (cols :: [(Symbol, Type)]). (KnownSymbol filterName, KnownSymbol targetName, a ~ SafeLookup filterName cols, b ~ SafeLookup targetName cols, Columnable a, Columnable b, AssertPresent filterName cols, AssertPresent targetName cols) => (a -> Bool) -> (b -> b) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: as :: forall (name :: Symbol) a (keys :: [Symbol]) (cols :: [Type]) (aggs :: [Type]). (KnownSymbol name, Columnable a) => TExpr cols a -> TAgg keys cols aggs -> TAgg keys cols (Column name a ': aggs)
+ DataFrame.Typed: as :: forall (name :: Symbol) a (keys :: [Symbol]) (cols :: [(Symbol, Type)]) (aggs :: [(Symbol, Type)]). (KnownSymbol name, Columnable a) => TExpr cols a -> TAgg keys cols aggs -> TAgg keys cols ('(name, a) ': aggs)
- DataFrame.Typed: asc :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: asc :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: bind :: forall a m b (cols :: [Type]). (Columnable a, Columnable (m a), Monad m, Columnable b, Columnable (m b)) => (a -> m b) -> TExpr cols (m a) -> TExpr cols (m b)
+ DataFrame.Typed: bind :: forall a m b (cols :: [(Symbol, Type)]). (Columnable a, Columnable (m a), Monad m, Columnable b, Columnable (m b)) => (a -> m b) -> TExpr cols (m a) -> TExpr cols (m b)
- DataFrame.Typed: castExpr :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Maybe b)
+ DataFrame.Typed: castExpr :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Maybe b)
- DataFrame.Typed: castExprEither :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Either Text b)
+ DataFrame.Typed: castExprEither :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols (Either Text b)
- DataFrame.Typed: castExprWithDefault :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => b -> TExpr cols src -> TExpr cols b
+ DataFrame.Typed: castExprWithDefault :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => b -> TExpr cols src -> TExpr cols b
- DataFrame.Typed: class KnownSchema (cols :: [Type])
+ DataFrame.Typed: class KnownSchema (cols :: [(Symbol, Type)])
- DataFrame.Typed: cloneColumn :: forall (old :: Symbol) (new :: Symbol) (cols :: [Type]). (KnownSymbol old, KnownSymbol new, AssertPresent old cols, AssertAbsent new cols) => TypedDataFrame cols -> TypedDataFrame (Column new (Lookup old cols) ': cols)
+ DataFrame.Typed: cloneColumn :: forall (old :: Symbol) (new :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol old, KnownSymbol new, AssertPresent old cols, AssertAbsent new cols) => TypedDataFrame cols -> TypedDataFrame ('(new, Lookup old cols) ': cols)
- DataFrame.Typed: col :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TExpr cols a
+ DataFrame.Typed: col :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TExpr cols a
- DataFrame.Typed: collect :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> TExpr cols [a]
+ DataFrame.Typed: collect :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> TExpr cols [a]
- DataFrame.Typed: columnAsDoubleVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsDoubleVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Double
+ DataFrame.Typed: columnAsDoubleVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsDoubleVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Double
- DataFrame.Typed: columnAsFloatVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsFloatVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Float
+ DataFrame.Typed: columnAsFloatVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsFloatVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Float
- DataFrame.Typed: columnAsIntVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsIntVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Int
+ DataFrame.Typed: columnAsIntVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertRealColumn "columnAsIntVector" name a, Real a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector Int
- DataFrame.Typed: columnAsList :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> [a]
+ DataFrame.Typed: columnAsList :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> [a]
- DataFrame.Typed: columnAsUnboxedVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
+ DataFrame.Typed: columnAsUnboxedVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Unbox a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
- DataFrame.Typed: columnAsVector :: forall (name :: Symbol) (cols :: [Type]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
+ DataFrame.Typed: columnAsVector :: forall (name :: Symbol) (cols :: [(Symbol, Type)]) a. (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, AssertPresent name cols) => TypedDataFrame cols -> Vector a
- DataFrame.Typed: columnNames :: forall (cols :: [Type]). TypedDataFrame cols -> [Text]
+ DataFrame.Typed: columnNames :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> [Text]
- DataFrame.Typed: count :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> TExpr cols Int
+ DataFrame.Typed: count :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> TExpr cols Int
- DataFrame.Typed: countAll :: forall (cols :: [Type]). TExpr cols Int
+ DataFrame.Typed: countAll :: forall (cols :: [(Symbol, Type)]). TExpr cols Int
- DataFrame.Typed: cube :: forall (cols :: [Type]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: cube :: forall (cols :: [(Symbol, Type)]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: data TSortOrder (cols :: [Type])
+ DataFrame.Typed: data TSortOrder (cols :: [(Symbol, Type)])
- DataFrame.Typed: data TypedDataFrame (cols :: [Type])
+ DataFrame.Typed: data TypedDataFrame (cols :: [(Symbol, Type)])
- DataFrame.Typed: data TypedGrouped (keys :: [Symbol]) (cols :: [Type])
+ DataFrame.Typed: data TypedGrouped (keys :: [Symbol]) (cols :: [(Symbol, Type)])
- DataFrame.Typed: daysBetween :: forall (cols :: [Type]). TExpr cols Day -> TExpr cols Day -> TExpr cols Int
+ DataFrame.Typed: daysBetween :: forall (cols :: [(Symbol, Type)]). TExpr cols Day -> TExpr cols Day -> TExpr cols Int
- DataFrame.Typed: derive :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame (Snoc cols (Column name a))
+ DataFrame.Typed: derive :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame (Snoc cols '(name, a))
- DataFrame.Typed: deriveWithExpr :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> (TExpr (Snoc cols (Column name a)) a, TypedDataFrame (Snoc cols (Column name a)))
+ DataFrame.Typed: deriveWithExpr :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => TExpr cols a -> TypedDataFrame cols -> (TExpr (Snoc cols '(name, a)) a, TypedDataFrame (Snoc cols '(name, a)))
- DataFrame.Typed: desc :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
+ DataFrame.Typed: desc :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TSortOrder cols
- DataFrame.Typed: difference :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: difference :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: dimensions :: forall (cols :: [Type]). TypedDataFrame cols -> (Int, Int)
+ DataFrame.Typed: dimensions :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> (Int, Int)
- DataFrame.Typed: distinct :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: distinct :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: div :: forall a (cols :: [Type]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: div :: forall a (cols :: [(Symbol, Type)]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: drop :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: drop :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: dropColumn :: forall (name :: Symbol) (cols :: [Type]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (RemoveColumn name cols)
+ DataFrame.Typed: dropColumn :: forall (name :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (RemoveColumn name cols)
- DataFrame.Typed: dropLast :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: dropLast :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: exclude :: forall (names :: [Symbol]) (cols :: [Type]). AllKnownSymbol names => TypedDataFrame cols -> TypedDataFrame (ExcludeSchema names cols)
+ DataFrame.Typed: exclude :: forall (names :: [Symbol]) (cols :: [(Symbol, Type)]). AllKnownSymbol names => TypedDataFrame cols -> TypedDataFrame (ExcludeSchema names cols)
- DataFrame.Typed: filter :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> (a -> Bool) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filter :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> (a -> Bool) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterAllJust :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame (StripAllMaybe cols)
+ DataFrame.Typed: filterAllJust :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame (StripAllMaybe cols)
- DataFrame.Typed: filterAllNothing :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterAllNothing :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterBy :: forall a (cols :: [Type]). Columnable a => (a -> Bool) -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterBy :: forall a (cols :: [(Symbol, Type)]). Columnable a => (a -> Bool) -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterJust :: forall (name :: Symbol) (cols :: [Type]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (StripMaybeAt name cols)
+ DataFrame.Typed: filterJust :: forall (name :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame (StripMaybeAt name cols)
- DataFrame.Typed: filterNothing :: forall (name :: Symbol) (cols :: [Type]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterNothing :: forall (name :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol name, AssertPresent name cols) => TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: filterWhere :: forall (cols :: [Type]). TExpr cols Bool -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: filterWhere :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: firstOrNothing :: forall a (cols :: [Type]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
+ DataFrame.Typed: firstOrNothing :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
- DataFrame.Typed: freeze :: forall (cols :: [Type]). KnownSchema cols => DataFrame -> Maybe (TypedDataFrame cols)
+ DataFrame.Typed: freeze :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => DataFrame -> Maybe (TypedDataFrame cols)
- DataFrame.Typed: freezeWithError :: forall (cols :: [Type]). KnownSchema cols => DataFrame -> Either Text (TypedDataFrame cols)
+ DataFrame.Typed: freezeWithError :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => DataFrame -> Either Text (TypedDataFrame cols)
- DataFrame.Typed: fromJust :: forall a (cols :: [Type]). Columnable a => TExpr cols (Maybe a) -> TExpr cols a
+ DataFrame.Typed: fromJust :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols (Maybe a) -> TExpr cols a
- DataFrame.Typed: fromMaybe :: forall a (cols :: [Type]). Columnable a => a -> TExpr cols (Maybe a) -> TExpr cols a
+ DataFrame.Typed: fromMaybe :: forall a (cols :: [(Symbol, Type)]). Columnable a => a -> TExpr cols (Maybe a) -> TExpr cols a
- DataFrame.Typed: fullOuterJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (FullOuterJoinSchema keys left right)
+ DataFrame.Typed: fullOuterJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (FullOuterJoinSchema keys left right)
- DataFrame.Typed: groupBy :: forall (keys :: [Symbol]) (cols :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys cols) => TypedDataFrame cols -> TypedGrouped keys cols
+ DataFrame.Typed: groupBy :: forall (keys :: [Symbol]) (cols :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys cols) => TypedDataFrame cols -> TypedGrouped keys cols
- DataFrame.Typed: ifThenElse :: forall a (cols :: [Type]). Columnable a => TExpr cols Bool -> TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: ifThenElse :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols Bool -> TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: impute :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, Maybe a ~ Lookup name cols) => a -> TypedDataFrame cols -> TypedDataFrame (Impute name cols)
+ DataFrame.Typed: impute :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, Maybe a ~ Lookup name cols) => a -> TypedDataFrame cols -> TypedDataFrame (Impute name cols)
- DataFrame.Typed: innerJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (InnerJoinSchema keys left right)
+ DataFrame.Typed: innerJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (InnerJoinSchema keys left right)
- DataFrame.Typed: insert :: forall (name :: Symbol) a (cols :: [Type]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => t a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insert :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => t a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertColumn :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Column -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertColumn :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Column -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertUnboxedVector :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, Unbox a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertUnboxedVector :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, Unbox a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertVector :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertVector :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => Vector a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertVectorWithDefault :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => a -> Vector a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertVectorWithDefault :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, AssertAbsent name cols) => a -> Vector a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: insertWithDefault :: forall (name :: Symbol) a (cols :: [Type]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => a -> t a -> TypedDataFrame cols -> TypedDataFrame (Column name a ': cols)
+ DataFrame.Typed: insertWithDefault :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]) t. (KnownSymbol name, Columnable a, Foldable t, AssertAbsent name cols) => a -> t a -> TypedDataFrame cols -> TypedDataFrame ('(name, a) ': cols)
- DataFrame.Typed: intersect :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: intersect :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: isJust :: forall a (cols :: [Type]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
+ DataFrame.Typed: isJust :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
- DataFrame.Typed: isNothing :: forall a (cols :: [Type]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
+ DataFrame.Typed: isNothing :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols (Maybe a) -> TExpr cols Bool
- DataFrame.Typed: kFolds :: forall g (cols :: [Type]). RandomGen g => g -> Int -> TypedDataFrame cols -> [TypedDataFrame cols]
+ DataFrame.Typed: kFolds :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> Int -> TypedDataFrame cols -> [TypedDataFrame cols]
- DataFrame.Typed: lastOrNothing :: forall a (cols :: [Type]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
+ DataFrame.Typed: lastOrNothing :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols [a] -> TExpr cols (Maybe a)
- DataFrame.Typed: leftJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (LeftJoinSchema keys left right)
+ DataFrame.Typed: leftJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (LeftJoinSchema keys left right)
- DataFrame.Typed: lift :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols a -> TExpr cols b
+ DataFrame.Typed: lift :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols a -> TExpr cols b
- DataFrame.Typed: lift2 :: forall a b c (cols :: [Type]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols a -> TExpr cols b -> TExpr cols c
+ DataFrame.Typed: lift2 :: forall a b c (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols a -> TExpr cols b -> TExpr cols c
- DataFrame.Typed: lit :: forall a (cols :: [Type]). Columnable a => a -> TExpr cols a
+ DataFrame.Typed: lit :: forall a (cols :: [(Symbol, Type)]). Columnable a => a -> TExpr cols a
- DataFrame.Typed: match :: forall (cols :: [Type]). Text -> TExpr cols Text -> TExpr cols (Maybe Text)
+ DataFrame.Typed: match :: forall (cols :: [(Symbol, Type)]). Text -> TExpr cols Text -> TExpr cols (Maybe Text)
- DataFrame.Typed: matchAll :: forall (cols :: [Type]). Text -> TExpr cols Text -> TExpr cols [Text]
+ DataFrame.Typed: matchAll :: forall (cols :: [(Symbol, Type)]). Text -> TExpr cols Text -> TExpr cols [Text]
- DataFrame.Typed: max :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: max :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: maximum :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: maximum :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: mean :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: mean :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: meanMaybe :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
+ DataFrame.Typed: meanMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
- DataFrame.Typed: median :: forall a (cols :: [Type]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: median :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: medianMaybe :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
+ DataFrame.Typed: medianMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
- DataFrame.Typed: min :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: min :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: minimum :: forall a (cols :: [Type]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: minimum :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Ord a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: mod :: forall a (cols :: [Type]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
+ DataFrame.Typed: mod :: forall a (cols :: [(Symbol, Type)]). (Integral a, Columnable a) => TExpr cols a -> TExpr cols a -> TExpr cols a
- DataFrame.Typed: mode :: forall a (cols :: [Type]). (Ord a, Columnable a, Eq a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: mode :: forall a (cols :: [(Symbol, Type)]). (Ord a, Columnable a, Eq a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: nColumns :: forall (cols :: [Type]). TypedDataFrame cols -> Int
+ DataFrame.Typed: nColumns :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> Int
- DataFrame.Typed: nRows :: forall (cols :: [Type]). TypedDataFrame cols -> Int
+ DataFrame.Typed: nRows :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> Int
- DataFrame.Typed: newtype TExpr (cols :: [Type]) a
+ DataFrame.Typed: newtype TExpr (cols :: [(Symbol, Type)]) a
- DataFrame.Typed: not :: forall (cols :: [Type]). TExpr cols Bool -> TExpr cols Bool
+ DataFrame.Typed: not :: forall (cols :: [(Symbol, Type)]). TExpr cols Bool -> TExpr cols Bool
- DataFrame.Typed: nullLift :: forall a r (cols :: [Type]). (NullLift1Op a r (NullLift1Result a r), Columnable (NullLift1Result a r)) => (BaseType a -> r) -> TExpr cols a -> TExpr cols (NullLift1Result a r)
+ DataFrame.Typed: nullLift :: forall a r (cols :: [(Symbol, Type)]). (NullLift1Op a r (NullLift1Result a r), Columnable (NullLift1Result a r)) => (BaseType a -> r) -> TExpr cols a -> TExpr cols (NullLift1Result a r)
- DataFrame.Typed: nullLift2 :: forall a b r (cols :: [Type]). (NullLift2Op a b r (NullLift2Result a b r), Columnable (NullLift2Result a b r)) => (BaseType a -> BaseType b -> r) -> TExpr cols a -> TExpr cols b -> TExpr cols (NullLift2Result a b r)
+ DataFrame.Typed: nullLift2 :: forall a b r (cols :: [(Symbol, Type)]). (NullLift2Op a b r (NullLift2Result a b r), Columnable (NullLift2Result a b r)) => (BaseType a -> BaseType b -> r) -> TExpr cols a -> TExpr cols b -> TExpr cols (NullLift2Result a b r)
- DataFrame.Typed: over :: forall (names :: [Symbol]) (cols :: [Type]) a. (Columnable a, AllKnownSymbol names, AssertAllPresent names cols) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: over :: forall (names :: [Symbol]) (cols :: [(Symbol, Type)]) a. (Columnable a, AllKnownSymbol names, AssertAllPresent names cols) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: parseDate :: forall t (cols :: [Type]). (ParseTime t, Columnable t) => Text -> TExpr cols Text -> TExpr cols (Maybe t)
+ DataFrame.Typed: parseDate :: forall t (cols :: [(Symbol, Type)]). (ParseTime t, Columnable t) => Text -> TExpr cols Text -> TExpr cols (Maybe t)
- DataFrame.Typed: percentile :: forall (cols :: [Type]). Int -> TExpr cols Double -> TExpr cols Double
+ DataFrame.Typed: percentile :: forall (cols :: [(Symbol, Type)]). Int -> TExpr cols Double -> TExpr cols Double
- DataFrame.Typed: pow :: forall a (cols :: [Type]). (Columnable a, Num a) => TExpr cols a -> Int -> TExpr cols a
+ DataFrame.Typed: pow :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a) => TExpr cols a -> Int -> TExpr cols a
- DataFrame.Typed: randomSplit :: forall g (cols :: [Type]). RandomGen g => g -> Double -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
+ DataFrame.Typed: randomSplit :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> Double -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
- DataFrame.Typed: range :: forall (cols :: [Type]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: range :: forall (cols :: [(Symbol, Type)]). (Int, Int) -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: recode :: forall a b (cols :: [Type]). (Columnable a, Columnable b, Show a, Show b, Show (a, b)) => [(a, b)] -> TExpr cols a -> TExpr cols (Maybe b)
+ DataFrame.Typed: recode :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Show a, Show b, Show (a, b)) => [(a, b)] -> TExpr cols a -> TExpr cols (Maybe b)
- DataFrame.Typed: recodeWithCondition :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => TExpr cols b -> [(TExpr cols a -> TExpr cols Bool, b)] -> TExpr cols a -> TExpr cols b
+ DataFrame.Typed: recodeWithCondition :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => TExpr cols b -> [(TExpr cols a -> TExpr cols Bool, b)] -> TExpr cols a -> TExpr cols b
- DataFrame.Typed: recodeWithDefault :: forall a b (cols :: [Type]). (Columnable a, Columnable b, Show (a, b)) => b -> [(a, b)] -> TExpr cols a -> TExpr cols b
+ DataFrame.Typed: recodeWithDefault :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Show (a, b)) => b -> [(a, b)] -> TExpr cols a -> TExpr cols b
- DataFrame.Typed: reduce :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => TExpr cols b -> a -> (a -> b -> a) -> TExpr cols a
+ DataFrame.Typed: reduce :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => TExpr cols b -> a -> (a -> b -> a) -> TExpr cols a
- DataFrame.Typed: relu :: forall a (cols :: [Type]). (Columnable a, Num a, Ord a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: relu :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a, Ord a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: rename :: forall (old :: Symbol) (new :: Symbol) (cols :: [Type]). (KnownSymbol old, KnownSymbol new) => TypedDataFrame cols -> TypedDataFrame (RenameInSchema old new cols)
+ DataFrame.Typed: rename :: forall (old :: Symbol) (new :: Symbol) (cols :: [(Symbol, Type)]). (KnownSymbol old, KnownSymbol new) => TypedDataFrame cols -> TypedDataFrame (RenameInSchema old new cols)
- DataFrame.Typed: renameMany :: forall (pairs :: [(Symbol, Symbol)]) (cols :: [Type]). AllKnownPairs pairs => TypedDataFrame cols -> TypedDataFrame (RenameManyInSchema pairs cols)
+ DataFrame.Typed: renameMany :: forall (pairs :: [(Symbol, Symbol)]) (cols :: [(Symbol, Type)]). AllKnownPairs pairs => TypedDataFrame cols -> TypedDataFrame (RenameManyInSchema pairs cols)
- DataFrame.Typed: replaceColumn :: forall (name :: Symbol) a (cols :: [Type]). (KnownSymbol name, Columnable a, a ~ SafeLookup name cols, AssertPresent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: replaceColumn :: forall (name :: Symbol) a (cols :: [(Symbol, Type)]). (KnownSymbol name, Columnable a, a ~ SafeLookup name cols, AssertPresent name cols) => TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: rightJoin :: forall (keys :: [Symbol]) (left :: [Type]) (right :: [Type]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (RightJoinSchema keys left right)
+ DataFrame.Typed: rightJoin :: forall (keys :: [Symbol]) (left :: [(Symbol, Type)]) (right :: [(Symbol, Type)]). (AllKnownSymbol keys, AssertAllPresent keys left, AssertAllPresent keys right, AssertKeyTypesMatch keys left right) => TypedDataFrame left -> TypedDataFrame right -> TypedDataFrame (RightJoinSchema keys left right)
- DataFrame.Typed: safeApply :: forall (name :: Symbol) a b (cols :: [Type]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> Either DataFrameException (TypedDataFrame (SetColumnType name b cols))
+ DataFrame.Typed: safeApply :: forall (name :: Symbol) a b (cols :: [(Symbol, Type)]). (KnownSymbol name, a ~ SafeLookup name cols, Columnable a, Columnable b, AssertPresent name cols) => (a -> b) -> TypedDataFrame cols -> Either DataFrameException (TypedDataFrame (SetColumnType name b cols))
- DataFrame.Typed: sample :: forall g (cols :: [Type]). RandomGen g => g -> Double -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: sample :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> Double -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: schemaColumnNames :: forall (cols :: [Type]). KnownSchema cols => [Text]
+ DataFrame.Typed: schemaColumnNames :: forall (cols :: [(Symbol, Type)]). KnownSchema cols => [Text]
- DataFrame.Typed: select :: forall (names :: [Symbol]) (cols :: [Type]). (AllKnownSymbol names, AssertAllPresent names cols) => TypedDataFrame cols -> TypedDataFrame (SubsetSchema names cols)
+ DataFrame.Typed: select :: forall (names :: [Symbol]) (cols :: [(Symbol, Type)]). (AllKnownSymbol names, AssertAllPresent names cols) => TypedDataFrame cols -> TypedDataFrame (SubsetSchema names cols)
- DataFrame.Typed: selectRows :: forall (cols :: [Type]). [Int] -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: selectRows :: forall (cols :: [(Symbol, Type)]). [Int] -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: shuffle :: forall g (cols :: [Type]). RandomGen g => g -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: shuffle :: forall g (cols :: [(Symbol, Type)]). RandomGen g => g -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: sortBy :: forall (cols :: [Type]). [TSortOrder cols] -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: sortBy :: forall (cols :: [(Symbol, Type)]). [TSortOrder cols] -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: splitOn :: forall (cols :: [Type]). Text -> TExpr cols Text -> TExpr cols [Text]
+ DataFrame.Typed: splitOn :: forall (cols :: [(Symbol, Type)]). Text -> TExpr cols Text -> TExpr cols [Text]
- DataFrame.Typed: stddev :: forall a (cols :: [Type]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: stddev :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: stddevMaybe :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
+ DataFrame.Typed: stddevMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols (Maybe a) -> TExpr cols Double
- DataFrame.Typed: stratifiedSample :: forall g a (cols :: [Type]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: stratifiedSample :: forall g a (cols :: [(Symbol, Type)]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: stratifiedSplit :: forall g a (cols :: [Type]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
+ DataFrame.Typed: stratifiedSplit :: forall g a (cols :: [(Symbol, Type)]). (SplittableGen g, Columnable a) => g -> Double -> TExpr cols a -> TypedDataFrame cols -> (TypedDataFrame cols, TypedDataFrame cols)
- DataFrame.Typed: sum :: forall a (cols :: [Type]). (Columnable a, Num a) => TExpr cols a -> TExpr cols a
+ DataFrame.Typed: sum :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a) => TExpr cols a -> TExpr cols a
- DataFrame.Typed: sumMaybe :: forall a (cols :: [Type]). (Columnable a, Num a) => TExpr cols (Maybe a) -> TExpr cols a
+ DataFrame.Typed: sumMaybe :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Num a) => TExpr cols (Maybe a) -> TExpr cols a
- DataFrame.Typed: symmetricDifference :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: symmetricDifference :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: take :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: take :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: takeLast :: forall (cols :: [Type]). Int -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: takeLast :: forall (cols :: [(Symbol, Type)]). Int -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: thaw :: forall (cols :: [Type]). TypedDataFrame cols -> DataFrame
+ DataFrame.Typed: thaw :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> DataFrame
- DataFrame.Typed: toDouble :: forall a (cols :: [Type]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: toDouble :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: toDoubleMatrix :: forall (cols :: [Type]). AllColumnsReal "toDoubleMatrix" cols => TypedDataFrame cols -> Vector (Vector Double)
+ DataFrame.Typed: toDoubleMatrix :: forall (cols :: [(Symbol, Type)]). AllColumnsReal "toDoubleMatrix" cols => TypedDataFrame cols -> Vector (Vector Double)
- DataFrame.Typed: toFloatMatrix :: forall (cols :: [Type]). AllColumnsReal "toFloatMatrix" cols => TypedDataFrame cols -> Vector (Vector Float)
+ DataFrame.Typed: toFloatMatrix :: forall (cols :: [(Symbol, Type)]). AllColumnsReal "toFloatMatrix" cols => TypedDataFrame cols -> Vector (Vector Float)
- DataFrame.Typed: toIntMatrix :: forall (cols :: [Type]). AllColumnsReal "toIntMatrix" cols => TypedDataFrame cols -> Vector (Vector Int)
+ DataFrame.Typed: toIntMatrix :: forall (cols :: [(Symbol, Type)]). AllColumnsReal "toIntMatrix" cols => TypedDataFrame cols -> Vector (Vector Int)
- DataFrame.Typed: toMaybe :: forall a (cols :: [Type]). Columnable a => TExpr cols a -> TExpr cols (Maybe a)
+ DataFrame.Typed: toMaybe :: forall a (cols :: [(Symbol, Type)]). Columnable a => TExpr cols a -> TExpr cols (Maybe a)
- DataFrame.Typed: type Schema a :: [Type];
+ DataFrame.Typed: type Schema a :: [(Symbol, Type)];
- DataFrame.Typed: union :: forall (cols :: [Type]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
+ DataFrame.Typed: union :: forall (cols :: [(Symbol, Type)]). TypedDataFrame cols -> TypedDataFrame cols -> TypedDataFrame cols
- DataFrame.Typed: unsafeCastExpr :: forall b (cols :: [Type]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols b
+ DataFrame.Typed: unsafeCastExpr :: forall b (cols :: [(Symbol, Type)]) src. (Columnable b, Columnable src, Read b) => TExpr cols src -> TExpr cols b
- DataFrame.Typed: unsafeFreeze :: forall (cols :: [Type]). DataFrame -> TypedDataFrame cols
+ DataFrame.Typed: unsafeFreeze :: forall (cols :: [(Symbol, Type)]). DataFrame -> TypedDataFrame cols
- DataFrame.Typed: valueCounts :: forall a (cols :: [Type]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Int)]
+ DataFrame.Typed: valueCounts :: forall a (cols :: [(Symbol, Type)]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Int)]
- DataFrame.Typed: valueProportions :: forall a (cols :: [Type]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Double)]
+ DataFrame.Typed: valueProportions :: forall a (cols :: [(Symbol, Type)]). (Ord a, Columnable a) => TExpr cols a -> TypedDataFrame cols -> [(a, Double)]
- DataFrame.Typed: variance :: forall a (cols :: [Type]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
+ DataFrame.Typed: variance :: forall a (cols :: [(Symbol, Type)]). (Columnable a, Real a, Unbox a) => TExpr cols a -> TExpr cols Double
- DataFrame.Typed: whenBothPresent :: forall a b c (cols :: [Type]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b) -> TExpr cols (Maybe c)
+ DataFrame.Typed: whenBothPresent :: forall a b c (cols :: [(Symbol, Type)]). (Columnable a, Columnable b, Columnable c) => (a -> b -> c) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b) -> TExpr cols (Maybe c)
- DataFrame.Typed: whenPresent :: forall a b (cols :: [Type]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b)
+ DataFrame.Typed: whenPresent :: forall a b (cols :: [(Symbol, Type)]). (Columnable a, Columnable b) => (a -> b) -> TExpr cols (Maybe a) -> TExpr cols (Maybe b)
- DataFrame.Typed: zScore :: forall (cols :: [Type]). TExpr cols Double -> TExpr cols Double
+ DataFrame.Typed: zScore :: forall (cols :: [(Symbol, Type)]). TExpr cols Double -> TExpr cols Double
Files
- CHANGELOG.md +15/−0
- README.md +9/−9
- app/Synthesis.hs +1/−1
- dataframe.cabal +50/−50
- src/DataFrame/Typed.hs +3/−5
- tests/Learn/TypedModel.hs +3/−3
- tests/Operations/Aggregations.hs +18/−18
- tests/Operations/Derive.hs +1/−1
- tests/Operations/Join.hs +4/−4
- tests/Operations/Nullable.hs +5/−5
- tests/Plotting.hs +1/−1
- tests/Typed/IOReaders.hs +7/−7
- tests/Typed/Parity.hs +6/−6
CHANGELOG.md view
@@ -1,5 +1,20 @@ # Revision history for dataframe +## 3.3.0.0++### Breaking changes+* Typed schemas are now type-level lists of promoted pairs instead of the+ `Column` phantom: `'[ '("name", Text), '("age", Int)]` replaces+ `'[Column "name" Text, Column "age" Int]`. `Column` is no longer exported+ from `DataFrame.Typed`; the schema kind is `[(Symbol, Type)]`.+* Coordinated major bumps: `dataframe-core` → `2.2.0.0`,+ `dataframe-operations`/`dataframe-parsing`/`dataframe-learn`/`dataframe-th`+ → `2.2.0.0`, `dataframe-csv`/`dataframe-lazy` → `2.3.0.0`,+ `dataframe-parquet` → `1.5.0.0`, `dataframe-csv-th`/`dataframe-parquet-th`+ → `1.3.0.0`, `dataframe-viz` → `1.3.0.0`, `dataframe-fusion` → `0.2.0.0`,+ `dataframe-persistent` → `0.5.0.0`, with inter-package bounds raised to+ match.+ ## 3.2.0.0 * Restrict CSV reads to selected columns for untyped and typed readers.
README.md view
@@ -289,9 +289,9 @@ ```haskell -- Generates:--- type HousingSchema = '[ DT.Column "longitude" Double--- , DT.Column "latitude" Double--- , DT.Column "total_rooms" Double+-- type HousingSchema = '[ '("longitude", Double)+-- , '("latitude", Double)+-- , '("total_rooms", Double) -- , ... -- ] $(DT.deriveSchemaFromCsvFile "HousingSchema" "./data/housing.csv")@@ -318,7 +318,7 @@ $(DT.deriveSchemaFromType ''Order) -- expands to: -- type OrderSchema =--- '[DT.Column "order_id" Int64, DT.Column "region" Text, DT.Column "amount" Double]+-- '[ '("order_id", Int64), '("region", Text), '("amount", Double)] -- instance DT.HasSchema Order where -- type Schema Order = OrderSchema -- toColumns = ...@@ -433,9 +433,9 @@ ```haskell type EmployeeSchema =- '[ DT.Column "name" Text- , DT.Column "department" Text- , DT.Column "salary" Double+ '[ '("name", Text)+ , '("department", Text)+ , '("salary", Double) ] employees <- D.readCsv "./data/employees.csv"@@ -464,7 +464,7 @@ ```text -- Typo in column name -> compile error tdf |> DT.filterWhere (DT.col @"slary" DT..>. DT.lit 50000)--- error: Column "slary" not found in schema+-- error: Column 'slary' not found in schema -- Wrong type -> compile error tdf |> DT.filterWhere (DT.col @"name" DT..>. DT.lit 50000)@@ -476,7 +476,7 @@ ```haskell-type ScoreSchema = '[ DT.Column "name" Text, DT.Column "score" (Maybe Double) ]+type ScoreSchema = '[ '("name", Text), '("score", Maybe Double)] scoresDf = D.fromNamedColumns [ ("name", D.fromList ["a", "b", "c" :: Text])
app/Synthesis.hs view
@@ -28,7 +28,7 @@ -- Survived is Maybe Int (safeRead = MaybeRead); prediction is Int (model output). type RawPredSchema =- '[DT.Column "Survived" (Maybe Int), DT.Column "prediction" Int]+ '[ '("Survived", Maybe Int), '("prediction", Int)] prediction :: D.Expr Int prediction = F.col @Int "prediction"
dataframe.cabal view
@@ -1,6 +1,6 @@ cabal-version: 3.4 name: dataframe-version: 3.2.0.1+version: 3.3.0.0 synopsis: A fast, safe, and intuitive DataFrame library. description: A fast, safe, and intuitive DataFrame library for exploratory data analysis.@@ -128,18 +128,18 @@ DataFrame.Typed.Record, DataFrame.Typed.Generic build-depends: base >= 4 && <5,- dataframe-core >= 2.1 && < 2.2,- dataframe-json >= 1.2 && < 1.3,- dataframe-expr-serializer >= 1.2 && < 1.3,- dataframe-operations >= 2.1 && < 2.2,- dataframe-parsing >= 2.1 && < 2.2,- dataframe-viz >= 1.2 && < 1.3,- dataframe-learn >= 2.1 && < 2.2+ dataframe-core >= 2.2 && < 2.3,+ dataframe-json >= 1.2.0.1 && < 1.3,+ dataframe-expr-serializer >= 1.2.0.1 && < 1.3,+ dataframe-operations >= 2.2 && < 2.3,+ dataframe-parsing >= 2.2 && < 2.3,+ dataframe-viz >= 1.3 && < 1.4,+ dataframe-learn >= 2.2 && < 2.3 if !flag(no-csv) reexported-modules: DataFrame.IO.CSV, DataFrame.Typed.IO.CSV- build-depends: dataframe-csv >= 2.2 && < 2.3+ build-depends: dataframe-csv >= 2.3 && < 2.4 cpp-options: -DWITH_CSV if !flag(no-parquet)@@ -157,7 +157,7 @@ DataFrame.IO.Parquet.Time, DataFrame.IO.Utils.RandomAccess, DataFrame.Typed.IO.Parquet- build-depends: dataframe-parquet >= 1.4 && < 1.5+ build-depends: dataframe-parquet >= 1.5 && < 1.6 cpp-options: -DWITH_PARQUET -- The lazy executor calls both CSV and Parquet readers directly, so@@ -167,21 +167,21 @@ DataFrame.Lazy.IO.Binary, DataFrame.Lazy.IO.CSV, DataFrame.Typed.Lazy- build-depends: dataframe-lazy >= 2.2 && < 2.3+ build-depends: dataframe-lazy >= 2.3 && < 2.4 cpp-options: -DWITH_LAZY if !flag(no-th)- build-depends: dataframe-th >= 2.1 && < 2.2+ build-depends: dataframe-th >= 2.2 && < 2.3 cpp-options: -DWITH_TH exposed-modules: DataFrame.TH, DataFrame.Typed.TH if !flag(no-th) && !flag(no-csv)- build-depends: dataframe-csv-th >= 1.2 && < 1.3+ build-depends: dataframe-csv-th >= 1.3 && < 1.4 cpp-options: -DWITH_CSV_TH if !flag(no-th) && !flag(no-parquet)- build-depends: dataframe-parquet-th >= 1.2 && < 1.3+ build-depends: dataframe-parquet-th >= 1.3 && < 1.4 cpp-options: -DWITH_PARQUET_TH hs-source-dirs: src@@ -203,14 +203,14 @@ buildable: False build-depends: base >= 4 && < 5,- dataframe-core >= 2.1 && < 2.2,- dataframe-expr-serializer >= 1.2 && < 1.3,- dataframe-csv >= 2.2 && < 2.3,- dataframe-json >= 1.2 && < 1.3,- dataframe-lazy >= 2.2 && < 2.3,- dataframe-operations >= 2.1 && < 2.2,- dataframe-parquet >= 1.4 && < 1.5,- dataframe-parsing >= 2.1 && < 2.2,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-expr-serializer >= 1.2.0.1 && < 1.3,+ dataframe-csv >= 2.3 && < 2.4,+ dataframe-json >= 1.2.0.1 && < 1.3,+ dataframe-lazy >= 2.3 && < 2.4,+ dataframe-operations >= 2.2 && < 2.3,+ dataframe-parquet >= 1.5 && < 1.6,+ dataframe-parsing >= 2.2 && < 2.3, text >= 2.1 && < 3, aeson >= 0.11 && < 3, bytestring >= 0.11 && < 0.14,@@ -223,8 +223,8 @@ import: warnings main-is: Benchmark.hs build-depends: base >= 4 && < 5,- dataframe >= 3.2 && < 3.3,- dataframe-operations >= 2.1 && < 2.2,+ dataframe >= 3.3 && < 3.4,+ dataframe-operations >= 2.2 && < 2.3, random >= 1 && < 2, time >= 1.12 && < 2, vector >= 0.13 && < 0.15,@@ -236,10 +236,10 @@ import: warnings main-is: Synthesis.hs build-depends: base >= 4 && < 5,- dataframe >= 3.2 && < 3.3,- dataframe-core >= 2.1 && < 2.2,- dataframe-learn >= 2.1 && < 2.2,- dataframe-operations >= 2.1 && < 2.2,+ dataframe >= 3.3 && < 3.4,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-learn >= 2.2 && < 2.3,+ dataframe-operations >= 2.2 && < 2.3, random >= 1 && < 2, text >= 2.1 && < 3 hs-source-dirs: app@@ -270,10 +270,10 @@ build-depends: base >= 4 && < 5, bytestring >= 0.11 && < 0.14, containers >= 0.6.7 && < 0.10,- dataframe >= 3.2 && < 3.3,- dataframe-core >= 2.1 && < 2.2,- dataframe-lazy >= 2.2 && < 2.3,- dataframe-parsing >= 2.1 && < 2.2,+ dataframe >= 3.3 && < 3.4,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-lazy >= 2.3 && < 2.4,+ dataframe-parsing >= 2.2 && < 2.3, directory >= 1.3.0.0 && < 2, random >= 1 && < 2, text >= 2.1 && < 3,@@ -291,9 +291,9 @@ criterion >= 1 && < 2, deepseq >= 1.4 && < 2, process >= 1.6 && < 2,- dataframe >= 3.2 && < 3.3,- dataframe-core >= 2.1 && < 2.2,- dataframe-operations >= 2.1 && < 2.2,+ dataframe >= 3.3 && < 3.4,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-operations >= 2.2 && < 2.3, random >= 1 && < 2, default-language: Haskell2010 ghc-options:@@ -377,18 +377,18 @@ build-depends: base >= 4 && < 5, aeson >= 0.11.0.0 && < 3, bytestring >= 0.11 && < 0.14,- dataframe >= 3.2 && < 3.3,- dataframe-core >= 2.1 && < 2.2,- dataframe-core >= 2.1 && < 2.2,- dataframe-csv >= 2.2 && < 2.3,- dataframe-expr-serializer >= 1.2 && < 1.3,- dataframe-fastcsv >= 1.4 && < 1.5,- dataframe-json >= 1.2 && < 1.3,- dataframe-lazy >= 2.2 && < 2.3,- dataframe-learn >= 2.1 && < 2.2,- dataframe-operations >= 2.1 && < 2.2,- dataframe-parquet >= 1.4 && < 1.5,- dataframe-parsing >= 2.1 && < 2.2,+ dataframe >= 3.3 && < 3.4,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-csv >= 2.3 && < 2.4,+ dataframe-expr-serializer >= 1.2.0.1 && < 1.3,+ dataframe-fastcsv >= 1.4.0.1 && < 1.5,+ dataframe-json >= 1.2.0.1 && < 1.3,+ dataframe-lazy >= 2.3 && < 2.4,+ dataframe-learn >= 2.2 && < 2.3,+ dataframe-operations >= 2.2 && < 2.3,+ dataframe-parquet >= 1.5 && < 1.6,+ dataframe-parsing >= 2.2 && < 2.3, HUnit >= 1.6 && < 1.8, QuickCheck >= 2 && < 3, random-shuffle >= 0.0.4 && < 1,@@ -413,9 +413,9 @@ other-modules: Internal.PackedText build-depends: base >= 4 && < 5, bytestring >= 0.11 && < 0.14,- dataframe >= 3.2 && < 3.3,- dataframe-core >= 2.1 && < 2.2,- dataframe-operations >= 2.1 && < 2.2,+ dataframe >= 3.3 && < 3.4,+ dataframe-core >= 2.2 && < 2.3,+ dataframe-operations >= 2.2 && < 2.3, HUnit >= 1.6 && < 1.8, text >= 2.1 && < 3, vector >= 0.13 && < 0.15
src/DataFrame/Typed.hs view
@@ -24,7 +24,7 @@ {\-\# LANGUAGE DataKinds, TypeApplications, TypeOperators \#-\} import qualified DataFrame.Typed as T -type People = '[T.Column \"name\" Text, T.Column \"age\" Int]+type People = '[ '(\"name\", Text), '(\"age\", Int)] main = do raw <- D.readCsv \"people.csv\"@@ -43,8 +43,8 @@ == filterAllJust tracks Maybe-stripping @-df :: TypedDataFrame '[Column \"x\" (Maybe Double), Column \"y\" Int]-T.filterAllJust df :: TypedDataFrame '[Column \"x\" Double, Column \"y\" Int]+df :: TypedDataFrame '[ '(\"x\", Maybe Double), '(\"y\", Int)]+T.filterAllJust df :: TypedDataFrame '[ '(\"x\", Double), '(\"y\", Int)] @ == Typed aggregation@@ -60,7 +60,6 @@ module DataFrame.Typed ( -- * Core types TypedDataFrame,- Column, TypedGrouped, These (..), @@ -394,7 +393,6 @@ ) #endif import DataFrame.Typed.Types (- Column, TSortOrder (..), These (..), TypedDataFrame,
tests/Learn/TypedModel.hs view
@@ -33,9 +33,9 @@ -- | All-Double schema: two features and a Double target. type Houses =- '[ DT.Column "x1" Double- , DT.Column "x2" Double- , DT.Column "y" Double+ '[ '("x1", Double)+ , '("x2", Double)+ , '("y", Double) ] regDF :: D.DataFrame
tests/Operations/Aggregations.hs view
@@ -74,12 +74,12 @@ ( testData & either (error . show) id . DT.freezeWithError- @[ DT.Column "test1" Int- , DT.Column "test2" Int- , DT.Column "test3" Int- , DT.Column "test4" Char- , DT.Column "test5" String- , DT.Column "test6" Integer+ @[ '("test1", Int)+ , '("test2", Int)+ , '("test3", Int)+ , '("test4", Char)+ , '("test5", String)+ , '("test6", Integer) ] & DT.groupBy @'["test1"] & DT.aggregate (DT.as @"n" DT.countAll)@@ -101,12 +101,12 @@ ( testData & either (error . show) id . DT.freezeWithError- @[ DT.Column "test1" Int- , DT.Column "test2" Int- , DT.Column "test3" Int- , DT.Column "test4" Char- , DT.Column "test5" String- , DT.Column "test6" Integer+ @[ '("test1", Int)+ , '("test2", Int)+ , '("test3", Int)+ , '("test4", Char)+ , '("test5", String)+ , '("test6", Integer) ] & DT.groupBy @'["test1"] & DT.aggregate (DT.as @"test2_count" (DT.count (DT.col @"test2")))@@ -145,12 +145,12 @@ ( testData & either (error . show) id . DT.freezeWithError- @[ DT.Column "test1" Int- , DT.Column "test2" Int- , DT.Column "test3" Int- , DT.Column "test4" Char- , DT.Column "test5" String- , DT.Column "test6" Integer+ @[ '("test1", Int)+ , '("test2", Int)+ , '("test3", Int)+ , '("test4", Char)+ , '("test5", String)+ , '("test6", Integer) ] & DT.groupBy @'["test1"] & DT.aggregate (DT.as @"test2_mean" (DT.mean (DT.col @"test2")))
tests/Operations/Derive.hs view
@@ -65,7 +65,7 @@ (error . show) id ( DT.freezeWithError- @[DT.Column "test1" Int, DT.Column "test2" String, DT.Column "test3" Char]+ @['("test1", Int), '("test2", String), '("test3", Char)] testData ) )
tests/Operations/Join.hs view
@@ -85,10 +85,10 @@ (D.sortBy [D.Asc (F.col @Text "key")] (rightJoin ["key"] df1 df2)) ) -tdf1 :: DT.TypedDataFrame [DT.Column "key" Text, DT.Column "A" Text]+tdf1 :: DT.TypedDataFrame ['("key", Text), '("A", Text)] tdf1 = either (error . show) id (DT.freezeWithError df1) -tdf2 :: DT.TypedDataFrame [DT.Column "key" Text, DT.Column "B" Text]+tdf2 :: DT.TypedDataFrame ['("key", Text), '("B", Text)] tdf2 = either (error . show) id (DT.freezeWithError df2) testInnerJoinTyped :: Test@@ -128,7 +128,7 @@ ] tdfOptional ::- DT.TypedDataFrame [DT.Column "key" Text, DT.Column "C" (Maybe Int)]+ DT.TypedDataFrame ['("key", Text), '("C", Maybe Int)] tdfOptional = either (error . show) id (DT.freezeWithError dfOptional) {- | A left join over an already-optional column must not nest the Maybe: the@@ -155,7 +155,7 @@ where joined :: DT.TypedDataFrame- [DT.Column "key" Text, DT.Column "A" Text, DT.Column "C" (Maybe Int)]+ ['("key", Text), '("A", Text), '("C", Maybe Int)] joined = DT.leftJoin @'["key"] tdf1 tdfOptional testRightJoinTyped :: Test
tests/Operations/Nullable.hs view
@@ -530,10 +530,10 @@ -- --------------------------------------------------------------------------- type CrossSchema =- '[ DT.Column "x" Int- , DT.Column "y" (Maybe Int)- , DT.Column "d" Double- , DT.Column "md" (Maybe Double)+ '[ '("x", Int)+ , '("y", Maybe Int)+ , '("d", Double)+ , '("md", Maybe Double) ] typedCrossData :: DT.TypedDataFrame CrossSchema@@ -617,7 +617,7 @@ -- Typed TExpr layer tests -- --------------------------------------------------------------------------- -type TestSchema = '[DT.Column "x" Int, DT.Column "y" (Maybe Int)]+type TestSchema = '[ '("x", Int), '("y", Maybe Int)] typedTestData :: DT.TypedDataFrame TestSchema typedTestData =
tests/Plotting.hs view
@@ -200,7 +200,7 @@ typedParity = TestCase $ do let tdf = DT.unsafeFreeze numFrame ::- DT.TypedDataFrame '[DT.Column "a" Double, DT.Column "b" Double]+ DT.TypedDataFrame '[ '("a", Double), '("b", Double)] specU = C.toVegaSpec ( C.chart numFrame
tests/Typed/IOReaders.hs view
@@ -25,9 +25,9 @@ import Test.HUnit type S =- '[ DT.Column "x" Int- , DT.Column "y" Double- , DT.Column "g" T.Text+ '[ '("x", Int)+ , '("y", Double)+ , '("g", T.Text) ] sampleDF :: D.DataFrame@@ -50,7 +50,7 @@ wrongSchemaEither = TestCase $ withSystemTempFile "typed_err.csv" $ \fp h -> do hClose h D.writeCsv fp sampleDF- res <- TCSV.readCsvWithError @'[DT.Column "nope" Int] fp+ res <- TCSV.readCsvWithError @'[ '("nope", Int)] fp assertBool "wrong schema => Left" (isLeft res) wrongSchemaThrows :: Test@@ -58,7 +58,7 @@ hClose h D.writeCsv fp sampleDF r <-- try (TCSV.readCsv @'[DT.Column "nope" Int] fp >>= evaluate . DT.nRows) ::+ try (TCSV.readCsv @'[ '("nope", Int)] fp >>= evaluate . DT.nRows) :: IO (Either DataFrameException Int) assertBool "wrong schema => throws DataFrameException" (isLeft r) @@ -69,7 +69,7 @@ typedReadProjects = TestCase $ withSystemTempFile "typed_proj.csv" $ \fp h -> do hClose h D.writeCsv fp sampleDF- narrow <- DT.thaw <$> TCSV.readCsv @'[DT.Column "g" T.Text] fp+ narrow <- DT.thaw <$> TCSV.readCsv @'[ '("g", T.Text)] fp assertEqual "only the schema's column is read" ["g"] (D.columnNames narrow) assertEqual "rows intact" (3, 1) (D.dimensions narrow) @@ -85,7 +85,7 @@ "untyped read infers Int" (Just (DI.fromList [1, 2, 3 :: Int])) (getColumn "n" inferred)- typed <- DT.thaw <$> TCSV.readCsv @'[DT.Column "n" T.Text] fp+ typed <- DT.thaw <$> TCSV.readCsv @'[ '("n", T.Text)] fp assertEqual "schema types the column as Text" (Just (DI.fromList ["1", "2", "3" :: T.Text]))
tests/Typed/Parity.hs view
@@ -18,9 +18,9 @@ import Test.HUnit type S =- '[ DT.Column "x" Int- , DT.Column "y" Double- , DT.Column "g" T.Text+ '[ '("x", Int)+ , '("y", Double)+ , '("g", T.Text) ] baseDF :: D.DataFrame@@ -178,10 +178,10 @@ rightDF :: D.DataFrame rightDF = D.fromNamedColumns [("y", DI.fromList [1.0, 2.0 :: Double])] -leftT :: DT.TypedDataFrame '[DT.Column "x" Int]+leftT :: DT.TypedDataFrame '[ '("x", Int)] leftT = either (error . show) id (DT.freezeWithError leftDF) -rightT :: DT.TypedDataFrame '[DT.Column "y" Double]+rightT :: DT.TypedDataFrame '[ '("y", Double)] rightT = either (error . show) id (DT.freezeWithError rightDF) -- Numeric-only frame for the matrix test.@@ -192,7 +192,7 @@ , ("y", DI.fromList [1.5, 2.5, 3.5 :: Double]) ] -numericT :: DT.TypedDataFrame '[DT.Column "x" Int, DT.Column "y" Double]+numericT :: DT.TypedDataFrame '[ '("x", Int), '("y", Double)] numericT = either (error . show) id (DT.freezeWithError numericDF) tests :: [Test]