numpy.histogramdd#

numpy.histogramdd(sample, bins=10, range=None, density=None, weights=None)[源代码]#

计算一些数据的多维直方图.

参数:
sample(N, D) 数组,或 (N, D) 类数组

要绘制成直方图的数据.

请注意,当为类数组时,对sample的非常规解释:

  • 当为数组时,每一行是D维空间中的一个坐标 - 例如 histogramdd(np.array([p1, p2, p3])) .

  • 当为类数组时,每个元素是单个坐标的值列表 - 例如 histogramdd((X, Y, Z)) .

应首选第一种形式.

bins序列或整数,可选

bin 规格:

  • 描述每个维度上单调递增的bin边缘的数组序列.

  • 每个维度的bin数量(nx, ny, … =bins)

  • 所有维度的bin数量(nx=ny=…=bins).

范围序列,可选

长度为D的序列,每个序列都是一个可选的(下限,上限) 元组,用于给出要在 bins 中未显式给出边缘时使用的外部bin边缘.序列中的None条目会导致将最小值和最大值用于相应的维度.默认值None等效于传递D个None值的元组.

密度bool, 可选

如果为False(默认),则返回每个bin中的样本数. 如果为True,则返回bin处的概率密度函数 bin_count / sample_count / bin_volume .

weights(N,) 类数组,可选

一个值数组 w_i ,用于衡量每个样本 (x_i, y_i, z_i, …) .如果density为True,则权重归一化为1.如果density为False,则返回的直方图的值等于属于落入每个bin的样本的权重之和.

返回:
Hndarray

样本x的多维直方图.有关不同的可能语义,请参见density和weights.

edgesndarray的元组

描述每个维度的bin边缘的D数组的元组.

参见

histogram

1-D直方图

histogram2d

2-D直方图

示例

>>> 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)