Skip to content


Folders and files

Last commit message
Last commit date

Latest commit


Repository files navigation


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.