dataframe-go
dataframe-go copied to clipboard
TODO: new features/updates
- ~~Update copyright + remove coverall~~
- ~~Add Row function to dataframe (also allow it to decide what of data is returned) + DeepLock opt~~
- ~~In utils, Search function to allow option to stop after finding N values.~~
- ~~In imports pkg, for importing from SQL, change from stmt to interface.~~
- ~~Allow imports.CSVLoadOptions to have default Comma,~~
- ~~Allow imports.DictateDataType to accept Series type (to allow for custom data)~~
- ~~Create random Series and Dataframes (with a random interface)~~
- ~~Change signature of Sort functions to accept context. Perhaps add ctx to more functions.~~
- ~~Allow custom time formats when importing.~~
- Add some more popular Pandas functions. (https://www.dataquest.io/blog/pandas-cheat-sheet/)
- ~~Add example in readme on how to integrate with gonum pkg.~~
- Add ~~Filter~~, GroupBy and Join (and also Append df): https://github.com/robpike/filter
- ~~Generate fake data for Dataframe~~
- ~~SeriesTime should be generate intervals~~
- Arima forecasting
- Add epsilon to SeriesFloat64
- Consider implementing OrderedMaps with doubly linked lists: http://www.tugberkugurlu.com/archive/implementing-ordered-map-in-go-2-0-by-using-generics-with-delete-operation-in-o-1-time-complexity and https://github.com/elliotchance/orderedmap
- Create a new Series type that uses a linked list
container/listpackage for float64 data instead of an []float64. (PUT IN XSERIES PKG): https://github.com/huandu/skiplist - Remove locking functionality -> leave to users to implement externally
- Clean up api with regards to a function to accept values (and always make options optional).
V(args ...interface{}) - Advocate dot import for V function (pkg name
dot) - ~~When importing from csv, allow series names to be chosen when the csv file doesn't have a headings row (
Headingsoption)~~ Thanks @pasdam - df.AddSeries should increase number of rows of newly added series automatically to match number of rows in df
- Make Apply and Filter operate concurrently
- Add alias for maths variables as an option:
fn := funcs.RegFunc("sin(2*𝜋*x/24)")funcs.Evaluate(ctx, df, fn, 1) - Create adapter for: https://github.com/go-echarts/go-echarts
- Parquet export - configure time type per series
- Explore Range embedding/chaining another Range (to define multiple ranges)
- ~~For Values Iterator, interpret Step=0 as Step=1~~
- For utils/faker, use gofakeit v6 and also create constants for the function names.
- Use rowerr for json importing