numpy.histogramdd — NumPy v2.2 Manual (original) (raw)
numpy.histogramdd(sample, bins=10, range=None, density=None, weights=None)[source]#
Compute the multidimensional histogram of some data.
Parameters:
sample(N, D) array, or (N, D) array_like
The data to be histogrammed.
Note the unusual interpretation of sample when an array_like:
- When an array, each row is a coordinate in a D-dimensional space - such as
histogramdd(np.array([p1, p2, p3]))
. - When an array_like, each element is the list of values for single coordinate - such as
histogramdd((X, Y, Z))
.
The first form should be preferred.
binssequence or int, optional
The bin specification:
- A sequence of arrays describing the monotonically increasing bin edges along each dimension.
- The number of bins for each dimension (nx, ny, … =bins)
- The number of bins for all dimensions (nx=ny=…=bins).
rangesequence, optional
A sequence of length D, each an optional (lower, upper) tuple giving the outer bin edges to be used if the edges are not given explicitly in_bins_. An entry of None in the sequence results in the minimum and maximum values being used for the corresponding dimension. The default, None, is equivalent to passing a tuple of D None values.
densitybool, optional
If False, the default, returns the number of samples in each bin. If True, returns the probability density function at the bin,bin_count / sample_count / bin_volume
.
weights(N,) array_like, optional
An array of values w_i weighing each sample (x_i, y_i, z_i, …). Weights are normalized to 1 if density is True. If density is False, the values of the returned histogram are equal to the sum of the weights belonging to the samples falling into each bin.
Returns:
Hndarray
The multidimensional histogram of sample x. See density and weights for the different possible semantics.
edgestuple of ndarrays
A tuple of D arrays describing the bin edges for each dimension.
Examples
import numpy as np rng = np.random.default_rng() r = rng.normal(size=(100,3)) H, edges = np.histogramdd(r, bins = (5, 8, 4)) H.shape, edges[0].size, edges[1].size, edges[2].size ((5, 8, 4), 6, 9, 5)