Giter Site home page Giter Site logo

gambas's Introduction

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.

gambas's People

Contributors

jpoly1219 avatar

Stargazers

 avatar Kyungsuk (Kai) Song avatar  avatar  avatar Sven Hohlfeld avatar  avatar GoodGoodStudyDayDayUp avatar 谦谦蚊子 avatar Bai Long avatar whoops avatar  avatar DJun avatar  avatar lekeeith avatar 강은솔 avatar Junghoon Ban avatar Khong Kok Wei avatar  avatar Alparslan KARAGÜNEY avatar Jeong-Ju avatar eruca avatar Sizhe Li avatar  avatar  avatar Ji Tao avatar Alexfilus avatar Alan Bunjevac avatar Christian Korneck avatar  avatar Bastian Koetsier avatar  avatar  avatar  avatar GuMuXi avatar dak1m avatar melkorm avatar  avatar Rui Chen avatar Jimmy Nelle avatar Kwon, Yeong-Eon avatar Mayank Pant avatar  avatar Serkan Altuntaş avatar Andrei Surugiu avatar  avatar pseudocodes avatar  avatar  avatar venjiang avatar  avatar Fabien Lesire avatar Nikita avatar H avatar Andriy Romanov avatar Haofeng avatar Joker_ avatar chikamim avatar Jonas mg avatar Simon O. Injiri avatar Victor Serra avatar Eliah Rusin avatar  avatar Ron avatar Adam Bouqdib avatar Jerod avatar roychris avatar Biplav avatar Gopinath avatar Tony Bai avatar @duneavv avatar  avatar Benzer avatar  avatar  avatar  avatar Jono Yan avatar Tzzed avatar  avatar Paul Capestany avatar Christian Stewart avatar Bryan Souza avatar Can Evgin avatar  avatar Aman Gupta Karmani avatar

Watchers

James Cloos avatar Eric Payne avatar  avatar  avatar Kyle Mitchell avatar @duneavv avatar

gambas's Issues

Slower commits due to school starting

Just like the title says! I recently started school again, and it will be more difficult to commit often. This does not mean that I will abandon the project altogether! I will keep making commits, just at a slower pace.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.