iterstats
Statistics for rust iterators.
The api was inspired by itertools.
Example
use iterstats::{Iterstats, Mean, Variance, StdDev, ZScore};
fn main() {
let data = [1u8, 2, 3, 4];
let float_mean = data.iter().mean::<f64>().unwrap();
assert_eq!(float_mean, 2.5);
let int_mean = data.iter().mean::<i16>().unwrap();
assert_eq!(int_mean, 2);
let variance = data.iter().variance::<f64>().unwrap();
assert_eq!(variance, 1.25);
let stddev = data.iter().stddev::<f64>().unwrap();
assert_eq!(stddev, 1.25f64.sqrt());
let zscores = data.iter().zscore().unwrap().collect::<Vec<f32>>();
assert_eq!(
zscores,
vec![-1.3416407, -0.4472136, 0.4472136, 1.3416407]
);
}