ndarray-stats 0.5.1

Statistical routines for ArrayBase, the n-dimensional array data structure provided by ndarray.


Coverage Dependencies status Crate Documentation

This crate provides statistical methods for ndarray's ArrayBase type.

Currently available routines include:

  • order statistics (minimum, maximum, median, quantiles, etc.);
  • summary statistics (mean, skewness, kurtosis, central moments, etc.)
  • partitioning;
  • correlation analysis (covariance, pearson correlation);
  • measures from information theory (entropy, KL divergence, etc.);
  • deviation functions (distances, counts, errors, etc.);
  • histogram computation.

See the documentation for more information.

Please feel free to contribute new functionality! A roadmap can be found here.

Using with Cargo

ndarray = "0.15"
ndarray-stats = "0.5.1"


  • 0.5.1

    • Fixed bug in implementation of MaybeNaN::remove_nan_mut for f32 and f64 for views with non-standard layouts. Before this fix, the bug could cause incorrect results, buffer overflows, etc., in this method and others which use it. Thanks to @JacekCzupyt for reporting the issue (#89).
    • Minor docs improvements.

    Contributors: @jturner314, @BenMoon

  • 0.5.0

    • Breaking changes
      • Minimum supported Rust version: 1.49.0
      • Updated to ndarray:v0.15.0

    Contributors: @Armavica, @cassiersg

  • 0.4.0

    • Breaking changes
      • Minimum supported Rust version: 1.42.0
    • New functionality:
      • Summary statistics:
        • Weighted variance
        • Weighted standard deviation
    • Improvements / breaking changes:
      • Documentation improvements for Histograms
      • Updated to ndarray:v0.14.0

    Contributors: @munckymagik, @nilgoyette, @LukeMathWalker, @lebensterben, @xd009642

  • 0.3.0

    • Breaking changes
      • Minimum supported Rust version: 1.37
    • New functionality:
      • Deviation functions:
        • Counts equal/unequal
        • l1, l2, linf distances
        • (Root) mean squared error
        • Peak signal-to-noise ratio
      • Summary statistics:
        • Weighted sum
        • Weighted mean
    • Improvements / breaking changes:
      • Updated to ndarray:v0.13.0

    Contributors: @munckymagik, @nilgoyette, @jturner314, @LukeMathWalker

  • 0.2.0

    • Breaking changes
      • All ndarray-stats' extension traits are now impossible to implement by users of the library (see #34)
      • Redesigned error handling across the whole crate, standardising on Result
    • New functionality:
      • Summary statistics:
        • Harmonic mean
        • Geometric mean
        • Central moments
        • Kurtosis
        • Skewness
      • Information theory:
        • Entropy
        • Cross-entropy
        • Kullback-Leibler divergence
      • Quantiles and order statistics:
        • argmin / argmin_skipnan
        • argmax / argmax_skipnan
        • Optimized bulk quantile computation (quantiles_mut, quantiles_axis_mut)
    • Fixes:
      • Reduced occurrences of overflow for interpolate::midpoint

    Contributors: @jturner314, @LukeMathWalker, @phungleson, @munckymagik

  • 0.1.0

    • Initial release by @LukeMathWalker and @jturner314.


Please feel free to create issues and submit PRs.


Copyright 2018–2022 ndarray-stats developers

Licensed under the Apache License, Version 2.0, or the MIT license, at your option. You may not use this project except in compliance with those terms.