numpy.histogramdd#
- numpy.histogramdd(sample, bins=10, range=None, density=None, weights=None)[source]#
计算某些数据的多维直方图。
- 参数:
- sample(N, D) 数组,或 (N, D) array_like
要进行直方图计算的数据。
注意当为 array_like 时 sample 的不寻常解释
当为数组时,每一行都是 D 维空间中的一个坐标 - 例如
histogramdd(np.array([p1, p2, p3]))
。当为 array_like 时,每个元素是单个坐标的值列表 - 例如
histogramdd((X, Y, Z))
。
应该优先使用第一种形式。
- bins序列或整数,可选
bin 规范
描述沿每个维度单调递增的 bin 边界的数组序列。
每个维度的 bin 数 (nx, ny, … =bins)
所有维度的 bin 数 (nx=ny=…=bins)。
- range序列,可选
长度为 D 的序列,每个序列都是一个可选的 (lower, upper) 元组,用于给出如果在 bins 中没有明确给出边缘时要使用的外部 bin 边界。序列中的 None 条目会导致使用最小值和最大值作为相应维度的值。默认值 None 等效于传递 D 个 None 值的元组。
- density布尔值,可选
如果为 False(默认值),则返回每个 bin 中的样本数。如果为 True,则返回 bin 处的概率 *密度* 函数,
bin_count / sample_count / bin_volume
。- weights(N,) array_like,可选
一个值 w_i 数组,对每个样本 (x_i, y_i, z_i, …) 进行加权。如果 density 为 True,则权重被归一化为 1。如果 density 为 False,则返回的直方图的值等于属于落入每个 bin 的样本的权重之和。
- 返回值:
- Hndarray
样本 x 的多维直方图。有关不同的可能语义,请参见 density 和 weights。
- edgesndarray 元组
一个 D 个数组的元组,描述每个维度的 bin 边界。
另请参见
histogram
一维直方图
histogram2d
二维直方图
示例
>>> 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)