Polars
In memory DataFrames in Rust
This is my mock up of DataFrames implemented in Rust, using Apache Arrow as backend.
WIP
Series
- cast
- take by index/ boolean mask
- limit
- Rust iterators!
- append
- aggregation: min, max, sum
- arithmetic
- comparison
- find
- sorting
DataFrame
- take by index/ boolean mask
- limit
- join: inner, left
- column ops: drop, select, rename
- group by
- concat (horizontal)
- read csv
- write csv
- write json
- read json
- sorting
Data types
- null
- boolean
- u32
- i32
- i64
- f32
- f64
- utf-8
- date
- time
Example
use *;
// Create first df.
let s0 = init;
let s1 = init;
let temp = new_from_columns.unwrap;
// Create second df.
let s0 = init;
let s1 = init;
let rain = new_from_columns.unwrap;
// Left join on days column.
let joined = temp.left_join;
println!
days temp rain
i32 f64 f64
--- --- ---
0 22.1 null
1 19.9 0.1
2 7 0.2
3 2 null
4 3 nul