Struct ndarray_stats::histogram::Histogram
source · pub struct Histogram<A: Ord> { /* private fields */ }
Expand description
Histogram data structure.
Implementations§
source§impl<A: Ord> Histogram<A>
impl<A: Ord> Histogram<A>
sourcepub fn add_observation<S>(
&mut self,
observation: &ArrayBase<S, Ix1>,
) -> Result<(), BinNotFound>where
S: Data<Elem = A>,
pub fn add_observation<S>(
&mut self,
observation: &ArrayBase<S, Ix1>,
) -> Result<(), BinNotFound>where
S: Data<Elem = A>,
Adds a single observation to the histogram.
Panics if dimensions do not match: self.ndim() != observation.len()
.
§Example:
use ndarray::array;
use ndarray_stats::histogram::{Edges, Bins, Histogram, Grid};
use noisy_float::types::n64;
let edges = Edges::from(vec![n64(-1.), n64(0.), n64(1.)]);
let bins = Bins::new(edges);
let square_grid = Grid::from(vec![bins.clone(), bins.clone()]);
let mut histogram = Histogram::new(square_grid);
let observation = array![n64(0.5), n64(0.6)];
histogram.add_observation(&observation)?;
let histogram_matrix = histogram.counts();
let expected = array![
[0, 0],
[0, 1],
];
assert_eq!(histogram_matrix, expected.into_dyn());
sourcepub fn ndim(&self) -> usize
pub fn ndim(&self) -> usize
Returns the number of dimensions of the space the histogram is covering.
sourcepub fn counts(&self) -> ArrayViewD<'_, usize>
pub fn counts(&self) -> ArrayViewD<'_, usize>
Borrows a view on the histogram counts matrix.
Auto Trait Implementations§
impl<A> Freeze for Histogram<A>
impl<A> RefUnwindSafe for Histogram<A>where
A: RefUnwindSafe,
impl<A> Send for Histogram<A>where
A: Send,
impl<A> Sync for Histogram<A>where
A: Sync,
impl<A> Unpin for Histogram<A>where
A: Unpin,
impl<A> UnwindSafe for Histogram<A>where
A: UnwindSafe,
Blanket Implementations§
source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
source§impl<T> IntoEither for T
impl<T> IntoEither for T
source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left
is true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read moresource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self
into a Left
variant of Either<Self, Self>
if into_left(&self)
returns true
.
Converts self
into a Right
variant of Either<Self, Self>
otherwise. Read more