dpnp.histogramdd

dpnp.histogramdd(sample, bins=10, range=None, weights=None, density=False)[source]

Compute the multidimensional histogram of some data.

For full documentation refer to numpy.histogramdd.

Parameters:
  • sample ({dpnp.ndarray, usm_ndarray}) -- Input (N, D)-shaped array to be histogrammed.

  • bins ({sequence, 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).

    Default: 10

  • range ({None, sequence}, 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. None is equivalent to passing a tuple of D None values.

    Default: None

  • weights ({dpnp.ndarray, usm_ndarray}, optional) --

    An (N,)-shaped 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.

    Default: None

  • density (bool, 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.

    Default: False

Returns:

  • H (dpnp.ndarray) -- The multidimensional histogram of sample x. See density and weights for the different possible semantics.

  • edges (list of {dpnp.ndarray or usm_ndarray}) -- A list of D arrays describing the bin edges for each dimension.

See also

dpnp.histogram

1-D histogram

dpnp.histogram2d

2-D histogram

Examples

>>> import dpnp as np
>>> r = np.random.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)