series

package
v0.12.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Feb 6, 2024 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Comparator

type Comparator string

Comparator is a convenience alias that can be used for a more type safe way of reason and use comparators.

const (
	Eq        Comparator = "=="   // Equal
	Neq       Comparator = "!="   // Non equal
	Greater   Comparator = ">"    // Greater than
	GreaterEq Comparator = ">="   // Greater or equal than
	Less      Comparator = "<"    // Lesser than
	LessEq    Comparator = "<="   // Lesser or equal than
	In        Comparator = "in"   // Inside
	CompFunc  Comparator = "func" // user-defined comparison function
)

Supported Comparators

type Element

type Element interface {
	// Setter method
	Set(interface{})

	// Comparation methods
	Eq(Element) bool
	Neq(Element) bool
	Less(Element) bool
	LessEq(Element) bool
	Greater(Element) bool
	GreaterEq(Element) bool

	// Accessor/conversion methods
	Copy() Element     // FIXME: Returning interface is a recipe for pain
	Val() ElementValue // FIXME: Returning interface is a recipe for pain
	String() string
	Int() (int, error)
	Uint8() (uint8, error)
	Uint16() (uint16, error)
	Uint32() (uint32, error)
	Uint64() (uint64, error)
	Float() float64
	Float32() float32
	Bool() (bool, error)

	// Information methods
	IsNA() bool
	Type() Type
}

Element is the interface that defines the types of methods to be present for elements of a Series

type ElementValue

type ElementValue interface{}

ElementValue represents the value that can be used for marshaling or unmarshaling Elements.

type Elements

type Elements interface {
	Elem(int) Element
	Len() int
}

Elements is the interface that represents the array of elements contained on a Series.

type Indexes

type Indexes interface{}

Indexes represent the elements that can be used for selecting a subset of elements within a Series. Currently supported are:

int            // Matches the given index number
[]int          // Matches all given index numbers
[]bool         // Matches all elements in a Series marked as true
Series [Int]   // Same as []int
Series [Bool]  // Same as []bool

type MapFunction

type MapFunction func(Element) Element

type RollingWindow

type RollingWindow struct {
	// contains filtered or unexported fields
}

RollingWindow is used for rolling window calculations.

func (RollingWindow) Mean

func (r RollingWindow) Mean() (s Series)

Mean returns the rolling mean.

func (RollingWindow) StdDev

func (r RollingWindow) StdDev() (s Series)

StdDev returns the rolling mean.

type Series

type Series struct {
	Name string // The name of the series

	// deprecated: use Error() instead
	Err error
	// contains filtered or unexported fields
}

Series is a data structure designed for operating on arrays of elements that should comply with a certain type structure. They are flexible enough that can be transformed to other Series types and account for missing or non valid elements. Most of the power of Series resides on the ability to compare and subset Series of different types.

func Bools

func Bools(values interface{}) Series

Bools is a constructor for a Bool Series

func Float32s

func Float32s(values interface{}) Series

Float32s is a constructor for a Float32 Series

func Floats

func Floats(values interface{}) Series

Floats is a constructor for a Float Series

func Ints

func Ints(values interface{}) Series

Ints is a constructor for an Int Series

func New

func New(values interface{}, t Type, name string) Series

New is the generic Series constructor

func Strings

func Strings(values interface{}) Series

Strings is a constructor for a String Series

func Uint16s added in v0.12.2

func Uint16s(values interface{}) Series

Uint16s is a constructor for an Uint16 Series

func Uint32s

func Uint32s(values interface{}) Series

Uint32s is a constructor for an Uint32 Series

func Uint64s

func Uint64s(values interface{}) Series

Uint64s is a constructor for an Uint64 Series

func Uint8s

func Uint8s(values interface{}) Series

Uint8s is a constructor for an uint8 Series

func (*Series) Append

func (s *Series) Append(values interface{})

Append adds new elements to the end of the Series. When using Append, the Series is modified in place.

func (Series) Bool

func (s Series) Bool() ([]bool, error)

Bool returns the elements of a Series as a []bool or an error if the transformation is not possible.

func (Series) Compare

func (s Series) Compare(comparator Comparator, comparando interface{}) Series

Compare compares the values of a Series with other elements. To do so, the elements with are to be compared are first transformed to a Series of the same type as the caller.

func (Series) Concat

func (s Series) Concat(x Series) Series

Concat concatenates two series together. It will return a new Series with the combined elements of both Series.

func (Series) Copy

func (s Series) Copy() Series

Copy will return a copy of the Series.

func (Series) Elem

func (s Series) Elem(i int) Element

Elem returns the element of a series for the given index. Will panic if the index is out of bounds.

func (Series) Empty

func (s Series) Empty() Series

Empty returns an empty Series of the same type

func (*Series) Error

func (s *Series) Error() error

Returns Error or nil if no error occured

func (Series) Float

func (s Series) Float() []float64

Float returns the elements of a Series as a []float64. If the elements can not be converted to float64 or contains a NaN returns the float representation of NaN.

func (Series) Float32

func (s Series) Float32() []float32

Float32 returns the elements of a Series as a []float32. If the elements can not be converted to float32 or contains a NaN returns the float representation of NaN.

func (Series) HasNaN

func (s Series) HasNaN() bool

HasNaN checks whether the Series contain NaN elements.

func (Series) Int

func (s Series) Int() ([]int, error)

Int returns the elements of a Series as a []int or an error if the transformation is not possible.

func (Series) IsNaN

func (s Series) IsNaN() []bool

IsNaN returns an array that identifies which of the elements are NaN.

func (Series) Len

func (s Series) Len() int

Len returns the length of a given Series

func (Series) Map

func (s Series) Map(f MapFunction) Series

Map applies a function matching MapFunction signature, which itself allowing for a fairly flexible MAP implementation, intended for mapping the function over each element in Series and returning a new Series object. Function must be compatible with the underlying type of data in the Series. In other words it is expected that when working with a Float Series, that the function passed in via argument `f` will not expect another type, but instead expects to handle Element(s) of type Float.

func (Series) Max

func (s Series) Max() float64

Max return the biggest element in the series

func (Series) MaxStr

func (s Series) MaxStr() string

MaxStr return the biggest element in a series of type String

func (Series) Mean

func (s Series) Mean() float64

Mean calculates the average value of a series

func (Series) Median

func (s Series) Median() float64

Median calculates the middle or median value, as opposed to mean, and there is less susceptible to being affected by outliers.

func (Series) Min

func (s Series) Min() float64

Min return the lowest element in the series

func (Series) MinStr

func (s Series) MinStr() string

MinStr return the lowest element in a series of type String

func (Series) Order

func (s Series) Order(reverse bool) []int

Order returns the indexes for sorting a Series. NaN elements are pushed to the end by order of appearance.

func (Series) Quantile

func (s Series) Quantile(p float64) float64

Quantile returns the sample of x such that x is greater than or equal to the fraction p of samples. Note: gonum/stat panics when called with strings

func (Series) Records

func (s Series) Records() []string

Records returns the elements of a Series as a []string

func (Series) Rolling

func (s Series) Rolling(window int) RollingWindow

Rolling creates new RollingWindow

func (Series) Set

func (s Series) Set(indexes Indexes, newvalues Series) Series

Set sets the values on the indexes of a Series and returns the reference for itself. The original Series is modified.

func (Series) Slice

func (s Series) Slice(j, k int) Series

Slice slices Series from j to k-1 index.

func (Series) StdDev

func (s Series) StdDev() float64

TODO: Add support for population standard deviation StdDev calculates the standard deviation of a series

func (Series) Str

func (s Series) Str() string

Str prints some extra information about a given series

func (Series) String

func (s Series) String() string

String implements the Stringer interface for Series

func (Series) Subset

func (s Series) Subset(indexes Indexes) Series

Subset returns a subset of the series based on the given Indexes.

func (Series) Sum

func (s Series) Sum() float64

Sum calculates the sum value of a series

func (Series) Type

func (s Series) Type() Type

Type returns the type of a given series

func (Series) Uint16 added in v0.12.2

func (s Series) Uint16() ([]uint16, error)

Uint16 returns the elements of a Series as a []uint16 or an error if the transformation is not possible.

func (Series) Uint32

func (s Series) Uint32() ([]uint32, error)

Uint32 returns the elements of a Series as a []uint32 or an error if the transformation is not possible.

func (Series) Uint64

func (s Series) Uint64() ([]uint64, error)

Uint64 returns the elements of a Series as a []uint64 or an error if the transformation is not possible.

func (Series) Uint8

func (s Series) Uint8() ([]uint8, error)

Uint8 returns the elements of a Series as a []uint8 or an error if the transformation is not possible.

func (Series) Val

func (s Series) Val(i int) interface{}

Val returns the value of a series for the given index. Will panic if the index is out of bounds.

type Type

type Type string

Type is a convenience alias that can be used for a more type safe way of reason and use Series types.

const (
	String  Type = "string"
	Int     Type = "int"
	Uint8   Type = "uint8"
	Uint16  Type = "uint16"
	Uint32  Type = "uint32"
	Uint64  Type = "uint64"
	Float   Type = "float"
	Float32 Type = "float32"
	Bool    Type = "bool"
)

Supported Series Types

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL