🌐 Website · 📚 Documentation
Labelled columnar tables in pure Go (CGO=0): Series, DataFrame and Index, CSV, Arrow and Parquet, group-by, joins, reshaping and time series — on go-ndarray.
Numeric columns are go-ndarray arrays, handed out without copying. The behavioural reference is pandas: the operations give its answers (values, dtypes, index, row order), checked against pandas 3.0 on 173 recorded cases, and the differences that remain are deliberate and listed. polars is faster on most of the operations measured; the documentation gives the numbers.
df := dataframe.Must(dataframe.ReadCSVFile("weather.csv", dataframe.CSVParseDates("date")))
g, _ := df.GroupBy("station")
fmt.Println(g.Mean())| Repo | What it is |
|---|---|
| dataframe | the library: Series, DataFrame, Index, CSV, display; arrowio (Arrow IPC, Feather), parquetio (Parquet), dfplot (plots with go-plot) (Go 1.27.2 or later) |
| docs | the documentation site (Hugo + Hextra), served at /docs/ |
| go-dataframe.github.io | the landing page (Hugo) |
| brand | logo, icons and social images |
It is part of an ecosystem with go-ndarray
(N-dimensional arrays), go-plot (figures),
go-numerics (optimisation,
integration, special functions) and
go-notebook, whose kernel shows a
frame through Display.
