Documentation ¶
Index ¶
- Constants
- Variables
- func Covariance(data1, data2 []float64) (float64, error)
- func CovariancePopulation(data1, data2 []float64) (float64, error)
- func DefaultDatetimeParser(date string) (time.Time, error)
- func GeometricMean(data []float64) float64
- func Mean(data []float64) float64
- func Median(data []float64) float64
- func Outliers(data []float64) []float64
- func ParseDateTimeFormat(date string) (string, error)
- func Percentile(data []float64, percent float64) (float64, int, error)
- func Percentiles(data []float64, percentiles ...float64) ([]float64, []int, error)
- func Quartile(data []float64) []float64
- func SampleVariance(input []float64) float64
- func Stats(data []float64) (count int, min, max, sum, mean float64)
- func Sum(data []float64) float64
- func Variance(input []float64) float64
- type Comparator
- type DatetimeParserFn
- type Element
- type ElementValue
- type Indexes
- type Series
- func Bools(values interface{}) Series
- func Floats(values interface{}) Series
- func Ints(values interface{}) Series
- func New(values interface{}, t Type, name string) Series
- func NewFromBytes(data []byte) Series
- func NewWithDatetimeParser(values interface{}, t Type, name string, dtParser DatetimeParserFn) Series
- func NewWithOther(values interface{}, t Type, name string, otherInfo interface{}) Series
- func Strings(values interface{}) Series
- func Times(values interface{}) Series
- func (s Series) Addr() []string
- func (s *Series) Append(values interface{})
- func (s *Series) AppendSeries(se *Series)
- func (s Series) Bool() ([]bool, error)
- func (s Series) Bytes() ([]byte, error)
- func (s *Series) Combine(b Series) Series
- func (s Series) Compare(comparator Comparator, comparando interface{}) Series
- func (s Series) Concat(x Series) Series
- func (s Series) ConcatNoCopy(x Series) Series
- func (s Series) Copy() Series
- func (s Series) Covariance(so Series) (float64, error)
- func (s Series) CovariancePopulation(so Series) (float64, error)
- func (s Series) Elem(i int) Element
- func (s Series) Empty() Series
- func (s Series) Float() []float64
- func (s Series) GeometricMean() float64
- func (s Series) HasNaN() bool
- func (s Series) Int() ([]int, error)
- func (s Series) IsNaN() []bool
- func (s Series) Len() int
- func (s Series) Mean() float64
- func (s Series) Median() float64
- func (s Series) Order(reverse bool) []int
- func (s Series) Outliers() []float64
- func (s Series) Percentile(percent float64) (float64, int, error)
- func (s Series) Percentiles(percentiles ...float64) ([]float64, []int, error)
- func (s Series) Quartile() Series
- func (s Series) Records() []string
- func (s Series) SampleVariance() float64
- func (s Series) Set(indexes Indexes, newvalues Series) Series
- func (s Series) SetValue(indexes Indexes, val interface{}) Series
- func (s Series) Slice(start, end int) Series
- func (s Series) Stats() (count int, min, max, sum, mean float64)
- func (s Series) Str() string
- func (s Series) String() string
- func (s Series) Subset(indexes Indexes) Series
- func (s Series) Sum() float64
- func (s Series) Time() ([]time.Time, error)
- func (s Series) Type() Type
- func (s Series) Val(i int) (interface{}, error)
- func (s Series) Variance() float64
- type Type
Constants ¶
const ( Eq Comparator = "==" // Equal Neq = "!=" // Non equal Greater = ">" // Greater than GreaterEq = ">=" // Greater or equal than Less = "<" // Lesser than LessEq = "<=" // Lesser or equal than In = "in" // Inside IsNaN = "is NaN" IsNotNaN = "is not NaN" )
Supported Comparators
Variables ¶
var ( ErrEmptyInput = seriesError{"Input must not be empty"} ErrAllNA = seriesError{"All Elements are NA"} ErrNotMeaningfulForString = seriesError{"Not meaningful for String"} ErrSizeDiffer = seriesError{"Size of Series differs"} ErrBounds = seriesError{"Input is outside of range."} ErrSize = seriesError{"Must be the same length."} ErrBoundsVal = func(val interface{}) seriesError { return seriesError{err: fmt.Sprintf("Input %v is outside of range", val)} } )
Package wide errors
Functions ¶
func Covariance ¶ added in v0.8.2
Covariance is a measure of how much two sets of data change
func CovariancePopulation ¶ added in v0.8.2
CovariancePopulation covariance for entire population between two float64 slices
func DefaultDatetimeParser ¶ added in v0.8.6
func GeometricMean ¶ added in v0.8.2
GeometricMean finds geometric mean for slice
func ParseDateTimeFormat ¶ added in v0.8.2
ParseDateTimeFormat parse date and returns time format
func Percentile ¶ added in v0.8.2
Percentile finds the relative standing in a slice of floats
func Percentiles ¶ added in v0.8.2
Percentiles finds the relative standing
func SampleVariance ¶ added in v0.8.2
SampleVariance finds the amount of variance within sample float64 slice
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.
type Element ¶ added in v0.8.0
type Element interface { Set(interface{}) Element Copy() Element IsNA() bool Type() Type Val() ElementValue String() string Int() (int, error) Float() float64 Bool() (bool, error) Time() (time.Time, error) Addr() string Eq(Element) bool Neq(Element) bool Less(Element) bool LessEq(Element) bool Greater(Element) bool GreaterEq(Element) bool }
Element is the interface that defines the types of methods to be present for elements of a Series
func FirstNonNan ¶ added in v0.8.2
FirstNonNan finds first non NaN Element returns it index and Element itself
type ElementValue ¶ added in v0.8.0
type ElementValue interface{}
ElementValue represents the value that can be used for marshaling or unmarshaling Elements.
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 Series ¶
type Series struct { Name string // The name of the series Err error // If there are errors they are stored here OtherInfo interface{} // OtherInfo for the serie // 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 NewFromBytes ¶ added in v0.8.2
NewFromBytes unmarshal Series from MessagePack byte array
func NewWithDatetimeParser ¶ added in v0.8.6
func NewWithDatetimeParser(values interface{}, t Type, name string, dtParser DatetimeParserFn) Series
NewWithDatetimeParser is the generic Series constructor with datetime parser
func NewWithOther ¶ added in v0.8.2
NewWithOther is the genereic Series constructor with otherInfo
func Times ¶ added in v0.8.2
func Times(values interface{}) Series
Times is a constructor for Time Series
func (Series) Addr ¶
Addr returns the string representation of the memory address that store the values of a given 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) AppendSeries ¶ added in v0.8.4
AppendSeries adds elements to the end of the Series.
func (Series) Bool ¶
Bool returns the elements of a Series as a []bool or an error if the transformation is not possible.
func (*Series) Combine ¶ added in v0.8.2
Combine combines two series equal size series. If element s[i] is not NA takes s[i] overwise b[i]
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 ¶
Concat concatenates two series together. It will return a new Series with the combined elements of both Series.
func (Series) ConcatNoCopy ¶ added in v0.8.4
ConcatNoCopy concatenates two series together without copy. It will return a Series with the combined elements of both Series.
func (Series) Covariance ¶ added in v0.8.2
Covariance computes covariance fo both Series
func (Series) CovariancePopulation ¶ added in v0.8.2
CovariancePopulation computes covariance of entire population between both Series
func (Series) Elem ¶
Elem returns the element of a series for the given index or nil if the index is out of bounds
func (Series) Float ¶
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) GeometricMean ¶ added in v0.8.2
GeometricMean computes geometric mean
func (Series) Int ¶
Int returns the elements of a Series as a []int or an error if the transformation is not possible.
func (Series) IsNaN ¶ added in v0.8.0
IsNaN returns an array that identifies which of the elements are NaN.
func (Series) Order ¶ added in v0.8.0
Order returns the indexes for sorting a Series. NaN elements are pushed to the end by order of appearance.
func (Series) Percentile ¶ added in v0.8.2
Percentile finds the relative standing in the Series of floats, returns the percentile value and it index
func (Series) Percentiles ¶ added in v0.8.2
Percentiles finds percentiles relative standings in the Series returns the percentile values and their indeses
func (Series) SampleVariance ¶ added in v0.8.2
SampleVariance finds the amount of variance within sample Series
func (Series) Set ¶
Set sets the values on the indexes of a Series and returns the reference for itself. The original Series is modified.
func (Series) Time ¶ added in v0.8.2
Time returns the elements of the a Series as a []time.Time or an error if the transition is not possible