NamedTupleIteratorExtensions
io.github.quafadas.scautable.NamedTupleIteratorExtensions
object NamedTupleIteratorExtensions
Attributes
- Graph
-
- Supertypes
-
class Objecttrait Matchableclass Any
- Self type
Members list
Extensions
Extensions
extension [K <: Tuple, V <: Tuple](itr: Iterator[NamedTuple[K, V]])
inline def addColumn[S <: String, A](fct: NamedTuple[K, V] => A): Iterator[NamedTuple[Append[K, S], Append[V, A]]]
inline def column[S <: String](using ev: IsColumn[S, K] =:= true, s: ValueOf[S]): Iterator[GetTypeAtName[K, S, V]]
inline def columns[ST <: Tuple](using ev: AllAreColumns[ST, K] =:= true): Iterator[NamedTuple[ST, GetTypesAtNames[K, ST, V]]]
inline def dropColumn[S <: String](using ev: IsColumn[S, K] =:= true, s: ValueOf[S]): Iterator[NamedTuple[DropOneName[K, S], DropOneTypeAtName[K, S, V]]]
inline def forceColumnType[S <: String, A]: Iterator[NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]]]
inline def mapColumn[S <: String, A](using ev: IsColumn[S, K] =:= true, s: ValueOf[S])(fct: GetTypeAtName[K, S, V] => A): Iterator[NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]]]
inline def nonNumericCols: Iterator[NamedTuple[SelectFromTuple[K, Negate[NumericColsIdx[V]]], GetTypesAtNames[K, SelectFromTuple[K, Negate[NumericColsIdx[V]]], V]]]
inline def numericColSummary[S <: String](using ev: IsColumn[S, K] =:= true, isNum: IsNumeric[GetTypeAtName[K, S, V]] =:= true, s: ValueOf[S], a: Fractional[GetTypeAtName[K, S, V]]): (mean: GetTypeAtName[K, S, V], std: Double, min: GetTypeAtName[K, S, V], 25%: Double, 50%: Double, 75%: Double, max: GetTypeAtName[K, S, V])
inline def numericCols: Iterator[NamedTuple[SelectFromTuple[K, NumericColsIdx[V]], GetTypesAtNames[K, SelectFromTuple[K, NumericColsIdx[V]], V]]]
inline def renameColumn[From <: String, To <: String](using ev: IsColumn[From, K] =:= true, FROM: ValueOf[From], TO: ValueOf[To]): Iterator[NamedTuple[ReplaceOneName[K, From, To], V]]
extension [CC <: (Iterable), K <: Tuple, V <: Tuple](nt: CC[NamedTuple[K, V]])
inline def addColumn[S <: String, A](fct: NamedTuple[K, V] => A)(using bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[Append[K, S], Append[V, A]], CC[NamedTuple[Append[K, S], Append[V, A]]]]): CC[NamedTuple[Append[K, S], Append[V, A]]]
inline def column[S <: String](using ev: IsColumn[S, K] =:= true, s: ValueOf[S], bf: BuildFrom[CC[NamedTuple[K, V]], GetTypeAtName[K, S, V], CC[GetTypeAtName[K, S, V]]]): CC[GetTypeAtName[K, S, V]]
inline def columns[ST <: Tuple](using ev: AllAreColumns[ST, K] =:= true, bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[ST, GetTypesAtNames[K, ST, V]], CC[NamedTuple[ST, GetTypesAtNames[K, ST, V]]]]): CC[NamedTuple[ST, GetTypesAtNames[K, ST, V]]]
inline def dropColumn[S <: String](using ev: IsColumn[S, K] =:= true, s: ValueOf[S], bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[DropOneName[K, S], DropOneTypeAtName[K, S, V]], CC[NamedTuple[DropOneName[K, S], DropOneTypeAtName[K, S, V]]]]): CC[NamedTuple[DropOneName[K, S], DropOneTypeAtName[K, S, V]]]
inline def forceColumnType[S <: String, A](using bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]], CC[NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]]]]): CC[NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]]]
inline def mapColumn[S <: String, A](fct: GetTypeAtName[K, S, V] => A)(using ev: IsColumn[S, K] =:= true, s: ValueOf[S], bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]], CC[NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]]]]): CC[NamedTuple[K, ReplaceOneTypeAtName[K, S, V, A]]]
inline def nonNumericCols(using bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[SelectFromTuple[K, Negate[NumericColsIdx[V]]], GetTypesAtNames[K, SelectFromTuple[K, Negate[NumericColsIdx[V]]], V]], CC[NamedTuple[SelectFromTuple[K, Negate[NumericColsIdx[V]]], GetTypesAtNames[K, SelectFromTuple[K, Negate[NumericColsIdx[V]]], V]]]]): CC[NamedTuple[SelectFromTuple[K, Negate[NumericColsIdx[V]]], GetTypesAtNames[K, SelectFromTuple[K, Negate[NumericColsIdx[V]]], V]]]
inline def numericCols(using bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[SelectFromTuple[K, NumericColsIdx[V]], GetTypesAtNames[K, SelectFromTuple[K, NumericColsIdx[V]], V]], CC[NamedTuple[SelectFromTuple[K, NumericColsIdx[V]], GetTypesAtNames[K, SelectFromTuple[K, NumericColsIdx[V]], V]]]]): CC[NamedTuple[SelectFromTuple[K, NumericColsIdx[V]], GetTypesAtNames[K, SelectFromTuple[K, NumericColsIdx[V]], V]]]
inline def renameColumn[From <: String, To <: String](using ev: IsColumn[From, K] =:= true, bf: BuildFrom[CC[NamedTuple[K, V]], NamedTuple[ReplaceOneName[K, From, To], V], CC[NamedTuple[ReplaceOneName[K, From, To], V]]]): CC[NamedTuple[ReplaceOneName[K, From, To], V]]
In this article