Crates.io | iterstats |
lib.rs | iterstats |
version | 0.6.0 |
source | src |
created_at | 2024-10-31 18:28:08.321002 |
updated_at | 2024-11-05 19:54:33.076064 |
description | Statistics for rust iterators. |
homepage | https://sr.ht/~ryguy/iterstats/ |
repository | https://git.sr.ht/~ryguy/iterstats |
max_upload_size | |
id | 1430431 |
size | 89,401 |
Statistics for rust iterators.
Extra iterator methods for common statistics operations.
To most easily get the functionality of this crate, import the [Iterstats
] trait. See the methods belonging to the trait for all available functionality.
// import the `Iterstats` trait into scope
use iterstats::Iterstats;
// start with your dataset
let data = [1f32, 2., 3., 4.];
// say you want the mean
let mean = data.iter().mean();
assert_eq!(mean, 2.5);
// get the variance
let variance = data.iter().variance();
assert_eq!(variance, 1.25);
// or standard deviation
let stddev = data.iter().stddev();
assert_eq!(stddev, 1.25f32.sqrt());
// or the zscore of each data point
let zscores = data.iter().zscore().collect::<Vec<_>>();
assert_eq!(zscores, vec![-1.3416407, -0.4472136, 0.4472136, 1.3416407]);
Shoutout to
itertools
, which was one of the inspirations for this project.