Skip to content
This repository has been archived by the owner on Jul 15, 2020. It is now read-only.

gagliardetto/golang-bears

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 

Repository files navigation

Golang-Bears

Descriptions

Initial API draft of golang-bears, an adapted golang version of python pandas.

Contributions

Want to help bring pandas to Golang? Fork this repo or open issues and make your suggestions.

Read CSV

dataFrame := gp.ReadCSV("data/file.csv")

Print first 5 rows

df := gp.ReadCSV("data/file.csv")
fmt.Println(df.Head())

Print last 5 rows

df := gp.ReadCSV("data/file.csv")
fmt.Println(df.Tail())

Select rows

df := gp.ReadCSV("data/file.csv")
fmt.Println(df[10:21])

Compute Max on one or more columns (individually)

df := gp.ReadCSV("data/file.csv")
fmt.Println(df.Columns("Volume","Price").Max())

Compute Min on one or more columns (individually)

df := gp.ReadCSV("data/file.csv")
fmt.Println(df.Columns("Volume","Price").Min())

Compute Mean on one or more columns (individually)

df := gp.ReadCSV("data/file.csv")
fmt.Println(df.Columns("Volume","Price").Mean())

Create Date range

startDate := "2010-01-22"
endDate := "2010-01-26"
dates := gp.DateRange(startDate,endDate)

Create new DataFrame

startDate := "2010-01-22"
endDate := "2010-01-26"
dates := gp.DateRange(startDate,endDate)

df1 := gp.NewDataFrame(gp.NewDataFrameOptions{Index:dates})

Join DataFrames

startDate := "2010-01-22"
endDate := "2010-01-26"
dates := gp.DateRange(startDate,endDate)

df1 := gp.NewDataFrame(gp.NewDataFrameOptions{Index:dates})

df := gp.ReadCSV("data/file.csv").WithOptions(gp.ReadCSVOptions{
	IndexCol:"Date",
	ParseDates:True,
	UseCols:[]string{"Date","Adj Close"},
	NAValues:[]string{"nan"},
})

df1 = df1.Join(df).WithOptions(gp.JoinOptions{
	How:"Inner",
})

df1 = df1.DropNA()

Rename

df := gp.ReadCSV("data/file.csv")
df = df.Rename().Column("Current name", "New name")

// OR

df = df.Rename().Columns([]string{"Current name", "New name"}, []string{"Current name of anothe col", "New name"})

Slicing

df := gp.ReadCSV("data/file.csv")

df.SliceByRow("2010-01-01","2010-01-31").SliceByCol("Net","Vol")

About

Recreating (part of) python pandas functionality in Golang, while taking https://www.udacity.com/course/machine-learning-for-trading--ud501

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Languages