Help us shape the future of Go! Take the 2026 Go Developer Survey

np

package module
v0.0.0-...-0992c90 Latest Latest
Warning

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

Go to latest
Published: Aug 23, 2024 License: Apache-2.0 Imports: 4 Imported by: 2

README

Go Data Frames supporting np like behaviours

A very limited implementation of np like data frames, built to support the project

https://github.com/mdcfrancis/gomnist1d

To create the data set it is important the the random number generation is stable and the code is a fairly close match to the original mnist1d code style.

No parts of the original numpy are used in this code base.

  • Implements a simplified version of NpArray and NpStack, including many helper methods.
  • Only supports one dimensional arrays and stacks of frames.
  • Uses the same random number generator as the original code from numpy (golang impl).
  • Implements np.RandChoice an extensions to randomkit to exactly match intn from numpy.

References

Documentation

Index

Examples

Constants

This section is empty.

Variables

This section is empty.

Functions

func RandBItMask

func RandBItMask(n int) int

func RandChoice

func RandChoice(rnd *randomkit.RKState, n int) int

Types

type NpArray

type NpArray stats.Float64Data // numpy array

func Arrange

func Arrange(start, end, step float64) NpArray

func DivFloat64

func DivFloat64(num float64, x NpArray) NpArray

func Exp

func Exp(x NpArray) NpArray

func LinSpace

func LinSpace(start, end float64, n int) NpArray

func RandN

func RandN(rnd *randomkit.RKState, n int) NpArray
Example
rnd := randomkit.RKState{}
rnd.Seed(42)
res := RandN(&rnd, 40)
expected := NpArray{
	0.4967141530112327, -0.13826430117118466, 0.6476885381006925, 1.5230298564080254, -0.23415337472333597,
	-0.23413695694918055, 1.5792128155073915, 0.7674347291529088, -0.4694743859349521, 0.5425600445480783,
	-0.4634176924152684, -0.465729750258121, 0.24196227156603412, -1.9132802443886548, -1.7249178325256874,
	-0.5622875327809211, -1.0128311203344238, 0.3142473325952734, -0.9080240755212108, -1.4123037013352915,
	1.465648768921554, -0.22577630310530303, 0.06752820468749734, -1.4247481905824634, -0.5443827247698924,
	0.11092259314570518, -1.1509935823085347, 0.3756980179353491, -0.600638689180186, -0.2916937517103762,
	-0.6017066126639317, 1.852278184508758, -0.013497220833454375, -1.057710928839773, 0.8225449197324413,
	-1.220843658710402, 0.2088636488630345, -1.959670120457828, -1.3281860515374616, 0.1968612420272514,
}
fmt.Println(res.AlmostEqual(expected, 1e-5))
Output:
true

func Zeros

func Zeros(n int) NpArray

func (NpArray) Add

func (a NpArray) Add(b NpArray) NpArray

func (NpArray) AddFloat64

func (a NpArray) AddFloat64(b float64) NpArray

func (NpArray) AlmostEqual

func (a NpArray) AlmostEqual(b NpArray, epsilon float64) bool

func (NpArray) Cond

func (a NpArray) Cond(f func(float64) float64) NpArray

func (NpArray) Copy

func (a NpArray) Copy() NpArray

func (NpArray) Div

func (a NpArray) Div(b NpArray) NpArray

func (NpArray) DivFloat64

func (a NpArray) DivFloat64(b float64) NpArray

func (NpArray) DivSlice

func (a NpArray) DivSlice(b float64, start, end int) NpArray

func (NpArray) Dot

func (a NpArray) Dot(b NpArray) float64

func (NpArray) LinearInterpolate

func (a NpArray) LinearInterpolate(scale, new_scale NpArray) NpArray

func (NpArray) Max

func (a NpArray) Max() float64

func (NpArray) Mean

func (a NpArray) Mean() float64

func (NpArray) Min

func (a NpArray) Min() float64

func (NpArray) Mul

func (a NpArray) Mul(b NpArray) NpArray

func (NpArray) MulFloat64

func (a NpArray) MulFloat64(b float64) NpArray

func (NpArray) PowFloat64

func (a NpArray) PowFloat64(power float64) NpArray

func (NpArray) Shape

func (a NpArray) Shape() int

func (NpArray) Shuffle

func (a NpArray) Shuffle(idx []int) NpArray

func (NpArray) StandardDeviation

func (a NpArray) StandardDeviation() float64

func (NpArray) String

func (a NpArray) String() string

func (NpArray) Sub

func (a NpArray) Sub(b NpArray) NpArray

func (NpArray) SubFloat64

func (a NpArray) SubFloat64(b float64) NpArray

func (NpArray) SubSlice

func (a NpArray) SubSlice(b NpArray, start, end int) NpArray

func (NpArray) Sum

func (a NpArray) Sum() float64

type NpStack

type NpStack []NpArray

func (NpStack) Add

func (m NpStack) Add(b NpStack) NpStack

func (NpStack) AllMostEqual

func (m NpStack) AllMostEqual(b NpStack, epsilon float64) bool

func (NpStack) Column

func (m NpStack) Column(i int) NpArray

func (NpStack) Cond

func (m NpStack) Cond(f func(float64) float64) NpStack

func (NpStack) Div

func (m NpStack) Div(b NpArray) NpStack

func (NpStack) DivFloat64

func (m NpStack) DivFloat64(b float64) NpStack

func (NpStack) DivSlice

func (m NpStack) DivSlice(b float64, start, end int) NpStack

func (NpStack) LinSpace

func (m NpStack) LinSpace(start, end float64, n int) NpStack

func (NpStack) LinearInterpolate

func (m NpStack) LinearInterpolate(scale, new_scale NpArray) NpStack

func (NpStack) Max

func (m NpStack) Max() NpArray

func (NpStack) Mean

func (m NpStack) Mean() NpArray

func (NpStack) Min

func (m NpStack) Min() NpArray

func (NpStack) MulFloat64

func (m NpStack) MulFloat64(b float64) NpStack

func (NpStack) ScalarMean

func (m NpStack) ScalarMean() float64

func (NpStack) ScalarStandardDeviation

func (m NpStack) ScalarStandardDeviation() float64

func (NpStack) Shape

func (m NpStack) Shape() []int

func (NpStack) Shuffle

func (m NpStack) Shuffle(idx []int) NpStack

Shuffle returns a new NpStack with the rows shuffled

func (NpStack) Slice

func (m NpStack) Slice(start, end int) NpStack

func (NpStack) StandardDeviation

func (m NpStack) StandardDeviation() NpArray

func (NpStack) String

func (m NpStack) String() string

func (NpStack) Sub

func (m NpStack) Sub(b NpArray) NpStack

func (NpStack) SubFloat64

func (m NpStack) SubFloat64(b float64) NpStack

func (NpStack) SubSlice

func (m NpStack) SubSlice(b NpArray, start, end int) NpStack

func (NpStack) Sum

func (m NpStack) Sum() NpArray

Jump to

Keyboard shortcuts

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