9 releases (5 breaking)
0.6.0 | Nov 5, 2024 |
---|---|
0.5.0 | Nov 5, 2024 |
0.4.1 | Nov 4, 2024 |
0.3.0 | Nov 1, 2024 |
0.1.2 | Oct 31, 2024 |
#403 in Rust patterns
788 downloads per month
47KB
1K
SLoC
iterstats
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.
Example
// 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]);
Additional
Shoutout to
itertools
, which was one of the inspirations for this project.
Dependencies
~150KB