Skip to content

Data analysis tool for Go. Similar to the famous Python library pandas.

License

Notifications You must be signed in to change notification settings

jpoly1219/gambas

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

gambas


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.

Installation


$ go get -u github.com/jpoly1219/gambas

Documentation


The documentation can be found in our docs page. We also have a link to the pkg.go.dev page.

Project Goals


  • Provide basic features from the pandas tutorial.
    • Providing Series and DataFrame 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
  • pkg.go.dev page
  • Documentation
  • Project website
  • Project logo

Philosophy


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.

About

Data analysis tool for Go. Similar to the famous Python library pandas.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages