numpy.histogramdd#

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

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

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

要进行直方图统计的数据.

注意当 array_like 时对 sample 的非寻常解释:

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

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

首选第一种形式.

bins序列或整数,可选

bin 规范:

  • 一系列数组,描述每个维度上单调递增的箱边.

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

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

range序列, 可选

长度为 D 的序列,每个是一个可选的 (下限, 上限) 元组,给出如果 bins 中没有明确给出边缘时要使用的外部箱边缘.序列中的 None 条目会导致相应维度的最小值和最大值被使用.默认值 None 等同于传递一个包含 D 个 None 值的元组.

densitybool, 可选

如果为 False,默认情况下,返回每个箱子中的样本数量.如果为 True,返回箱子中的概率 密度 函数,``bin_count / sample_count / bin_volume``.

weights(N,)array_like,可选

一组值 w_i 称量每个样本 (x_i, y_i, z_i, …).如果密度为真,权重被归一化为1.如果密度为假,返回的直方图的值等于落入每个箱子的样本的权重之和.

返回:
Hndarray

样本 x 的多维直方图.参见密度和权重以了解不同的可能语义.

edgesndarrays 的元组

一个包含每个维度分箱边缘的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)