numpy.histogramdd#

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

計算某些資料的多維度直方圖。

參數:
sample(N, D) 陣列,或 (N, D) 類陣列

要計算直方圖的資料。

注意當為類陣列時,sample 的非標準解釋

  • 當為陣列時,每列是 D 維空間中的一個座標 - 例如 histogramdd(np.array([p1, p2, p3]))

  • 當為類陣列時,每個元素是單一座標的值列表 - 例如 histogramdd((X, Y, Z))

應優先使用第一種形式。

bins序列或整數,可選

分箱規格

  • 描述沿每個維度單調遞增分箱邊緣的陣列序列。

  • 每個維度的分箱數量 (nx, ny, … =bins)

  • 所有維度的分箱數量 (nx=ny=…=bins)。

range序列,可選

長度為 D 的序列,每個元素都是一個可選的 (lower, upper) 元組,用於指定當邊緣未在 bins 中明確給出時要使用的外部分箱邊緣。序列中的 None 條目會導致使用對應維度的最小值和最大值。預設值 None 等同於傳遞 D 個 None 值的元組。

density布林值,可選

如果為 False(預設值),則傳回每個分箱中的樣本數量。如果為 True,則傳回分箱的機率密度函數,bin_count / sample_count / bin_volume

weights(N,) 類陣列,可選

一個值 w_i 的陣列,用於權衡每個樣本 (x_i, y_i, z_i, …)。如果 density 為 True,則權重會標準化為 1。如果 density 為 False,則傳回的直方圖值等於屬於落入每個分箱的樣本的權重總和。

傳回:
Hndarray

樣本 x 的多維度直方圖。請參閱 density 和 weights 以了解不同的可能語義。

edgesndarray 元組

描述每個維度的分箱邊緣的 D 個陣列的元組。

另請參閱

histogram

1 維直方圖

histogram2d

2 維直方圖

範例

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