rocketlaunchr / dataframe-go

DataFrames for Go: For statistics, machine-learning, and data manipulation/exploration
Other
1.19k stars 95 forks source link

TODO: new features/updates #17

Open pjebs opened 4 years ago

pjebs commented 4 years ago
  1. Update copyright + remove coverall
  2. Add Row function to dataframe (also allow it to decide what of data is returned) + DeepLock opt
  3. In utils, Search function to allow option to stop after finding N values.
  4. In imports pkg, for importing from SQL, change from stmt to interface.
  5. Allow imports.CSVLoadOptions to have default Comma,
  6. Allow imports.DictateDataType to accept Series type (to allow for custom data)
  7. Create random Series and Dataframes (with a random interface)
  8. Change signature of Sort functions to accept context. Perhaps add ctx to more functions.
  9. Allow custom time formats when importing.
  10. Add some more popular Pandas functions. (https://www.dataquest.io/blog/pandas-cheat-sheet/)
  11. Add example in readme on how to integrate with gonum pkg.
  12. Add Filter, GroupBy and Join (and also Append df): https://github.com/robpike/filter
  13. Generate fake data for Dataframe
  14. SeriesTime should be generate intervals
  15. Arima forecasting
  16. Add epsilon to SeriesFloat64
  17. 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
  18. Create a new Series type that uses a linked list container/list package for float64 data instead of an []float64. (PUT IN XSERIES PKG): https://github.com/huandu/skiplist
  19. Remove locking functionality -> leave to users to implement externally
  20. Clean up api with regards to a function to accept values (and always make options optional). V(args ...interface{})
  21. Advocate dot import for V function (pkg name dot)
  22. When importing from csv, allow series names to be chosen when the csv file doesn't have a headings row (Headings option) Thanks @pasdam
  23. df.AddSeries should increase number of rows of newly added series automatically to match number of rows in df
  24. Make Apply and Filter operate concurrently
  25. Add alias for maths variables as an option: fn := funcs.RegFunc("sin(2*𝜋*x/24)")funcs.Evaluate(ctx, df, fn, 1)
  26. Create adapter for: https://github.com/go-echarts/go-echarts
  27. Parquet export - configure time type per series
  28. Explore Range embedding/chaining another Range (to define multiple ranges)
  29. For Values Iterator, interpret Step=0 as Step=1
  30. For utils/faker, use gofakeit v6 and also create constants for the function names.
  31. Use rowerr for json importing