brassfibre
Rust labeled vector experiment.
Series
Single-dtype 1-dimentional vector with label (index).
Creation
extern crate brassfibre;
use *;
let values: = vec!;
let index: = vec!;
let s = new;
println!;
// 10 1
// 20 2
// 30 3
// 40 4
// 50 3
Selection
println!;
// 10 1
// 40 4
// 50 3
println!;
// 30 3
// 40 4
// 50 3
Calculation
println!;
// 10 2
// 20 3
// 30 4
// 40 5
// 50 4
println!;
// 13
println!;
// count 5
// mean 2.6
// std 1.019803902718557
// min 1
// max 4
println!;
// 3 2
// 2 1
// 1 1
// 4 1
Group By
let sg = s.groupby;
println!;
// 10 1
// 20 2
// 30 3
println!;
// 1 6
// 2 7
Block
Single-dtype 2-dimentional vector with labels (index and columns).
Creation
extern crate brassfibre;
use *;
let values = vec!;
let b = from_col_vec;
println!;
// X YYY ZZ
// 10 1 6 11
// 20 2 7 12
// 30 3 8 13
// 40 4 9 14
// 50 5 10 15
Selection
by single columns label
println!;
// 10 6
// 20 7
// 30 8
// 40 9
// 50 10
by single columns location
println!;
// 10 1
// 20 2
// 30 3
// 40 4
// 50 5
by multiple index labels
println!;
// X YYY ZZ
// 20 2 7 12
// 30 3 8 13
// 40 4 9 14
by multiple index locations
println!;
// X YYY ZZ
// 10 1 6 11
// 30 3 8 13
// 20 2 7 12
Calculation
elemwise, with another block
println!;
// X YYY ZZ
// 10 6 11 16
// 20 7 12 17
// 30 8 13 18
// 40 9 14 19
// 50 10 15 20
println!;
// X YYY ZZ
// 10 3 18 33
// 20 6 21 36
// 30 9 24 39
// 40 12 27 42
// 50 15 30 45
aggregation
println!;
// X 15
// YYY 40
// ZZ 65
println!;
// X 3
// YYY 8
// ZZ 13
Group By
get group
let bg = b.groupby;
println!;
// X YYY ZZ
// 10 1 6 11
// 20 2 7 12
// 40 4 9 14
aggregation
println!;
// X YYY ZZ
// A 7 22 37
// B 8 18 28
DataFrame
Multiple-dtype 2-dimentional vector with labels (index and columns).
Creation
extern crate brassfibre;
use *;
let values = vec!;
let df = from_vec;
println!;
// X YYY ZZ
// 10 1 6.1 11
// 20 2 7.1 12
// 30 3 8.1 13
// 40 4 9.1 14
// 50 5 10.1 15
Selection
by multiple index labels
println!;
// X YYY ZZ
// 20 2 7.1 12
// 30 3 8.1 13
// 40 4 9.1 14
by multiple index locations
println!;
// X YYY ZZ
// 10 1 6.1 11
// 30 3 8.1 13
// 20 2 7.1 12
Group By
get group
let dg = df.groupby;
println!;
// X YYY ZZ
// 10 1 6.1 11
// 20 2 7.1 12
// 40 4 9.1 14
Reshaping
inner join
let values2 = vec!;
let df2 = from_vec;
let j = df.join_inner;
println!;
// X YYY ZZ X2 Y2
// 20 2 7.1 12 1.1 6
// 30 3 8.1 13 2.1 7
// 40 4 9.1 14 3.1 8