gambas
is a data analysis package for Go that provides an intuitive way to manipulate tabular data. The project is inspired by the famous Python library pandas
.
$ go get -u github.com/jpoly1219/gambas
The documentation can be found in our docs page. We also have a link to the pkg.go.dev page.
- Provide basic features from the pandas tutorial.
- Providing
Series
andDataFrame
data types - Reading and writing tabular data
- Reading CSV files
- Writing to CSV files
- Reading Excel files
- Writing to Excel files
- Reading JSON files
- Writing to JSON files
- Selecting a subset of data
- At, IAt
- Loc, ILoc
- Easier filtering (close to that of SQL)
- Plotting
- Set
- Using
- Trendline (fit)
- Statistics
- Categorical count
- Creating new columns derived from existing columns
- Creating new columns
- Applying operations to the new column
- Renaming columns
- Calculating summary statistics
- Mean, median, standard deviation
- Min, max, quartiles
- Count, describe
- Reshaping the layout of tables
- Sorting by index
- Sorting by values
- Sorting by given index
- Groupby
- Pivot (long to wide format)
- PivotTable (long to wide format)
- Melt (wide to long format)
- Combining data from multiple tables
- Concatenate
- Merge
- Handling time series data
- Timestamp type
- Timestamp type methods
- ToDatetime
- Manipulating textual data
- Multiindex
- Providing
- pkg.go.dev page
- Documentation
- Project website
- Project logo
gambas
was created to serve the needs of Go developers who wanted a robust data analysis package. pandas
is an amazing tool, and is considered the industry standard when it comes to data organization and manipulation.
We didn't have a solid alternative in the Go realm. According to the Go Developer Survey 2021 Results, missing critical libraries were one of the most common barriers to using Go. You may have used Go for some time now, but you might've missed some of the libraries you used when you were using Python. gambas
aims to scratch that itch. You will be able to tap into the superpowers of pandas
while using your favorite language Go.
Go is a very attractive language with a very loyal userbase. It provides a pleasant developer experience with its simple syntax and strong typing. However, Go currently tends to be skewed towards developing services. 49% of projects written in Go are API/RPC services, and another 10% are for web services. The ultimate goal for gambas
is to allow the Go programming language to be a major player in the data analysis field.