| Crates.io | iterstats |
| lib.rs | iterstats |
| version | 0.7.0 |
| created_at | 2024-10-31 18:28:08.321002+00 |
| updated_at | 2025-03-01 15:57:38.726569+00 |
| description | Statistics for rust iterators. |
| homepage | https://sr.ht/~ryguy/iterstats/ |
| repository | https://git.sr.ht/~ryguy/iterstats |
| max_upload_size | |
| id | 1430431 |
| size | 97,334 |
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.