IndexedTables.jl
Linq-in-Rust
IndexedTables.jl | Linq-in-Rust | |
---|---|---|
2 | 1 | |
119 | 123 | |
1.7% | - | |
5.9 | 2.5 | |
about 1 month ago | 6 months ago | |
Julia | Rust | |
MIT License | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
IndexedTables.jl
-
Table Oriented Programming (2002)
unfortunately, I don't have access to that code anymore, I wrote a number of loaders for different data set types including CSV. The time series were all modeled as forward iterating stream of tuples, so there is no specific table abstraction. There is an implicit assumption that the stream is ordered by the join key, in a time series this being the timestamp, though nothing in the implementation enforced that.
Joins are always n-way merge joins, so you can write something like y = 2x^2 - 3z and fold that into a single streaming operation y = f( x, z ) where y, x and z are time streams.
When rendered to screen they looked very similar to your examples. With plugins in the IDE you could directly plot and array of time series as a chart.
Since the time I wrote NamedTuples the Julia core team folded the functionality into the core of Julia https://docs.julialang.org/en/v1/manual/types/#Named-Tuple-T.... This is the core of https://juliadb.org/ all credit to the Julia core team
-
How do I access a specific column/row based on the column name and/or row value with an indexed table?
I am talking about https://github.com/JuliaData/IndexedTables.jl. I’m just getting started with Julia so I might not really know what I’m doing right now lol
Linq-in-Rust
-
Table Oriented Programming (2002)
Rust has rather sophisticated macros, which let you do stuff like this outside the core language implementation, which is IMO very much where such things belong.
E.g. a linq clone in rust can look like this: https://github.com/StardustDL/Linq-in-Rust
linq!(from p in 1..100, where p <= &5, orderby -p, select p * 2).collect();
What are some alternatives?
Julia-DataFrames-Tutorial - A tutorial on Julia DataFrames package
empirical-lang - A language for time-series analysis
Chain.jl - A Julia package for piping a value through a series of transformation expressions using a more convenient syntax than Julia's native piping functionality.
number_range - Parse human readable numbers list into an iterable and vice versa
julia - The Julia Programming Language