當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Python dask.array.histogram用法及代碼示例

用法:

dask.array.histogram(a, bins=None, range=None, normed=False, weights=None, density=None)

numpy.histogram() 的受阻變體。

參數

adask.array.Array

輸入數據;直方圖是在展平的數組上計算的。如果使用 weights 參數,則訪問 a 的塊以檢查 aweights 之間的塊兼容性。如果 weightsNone ,則可以將 dask.dataframe.Series 對象作為輸入數據傳遞。

binsint 或標量序列,可選

需要指定 binsbins 的數量和 range 參數的可迭代,因為在阻塞數組上計算 minmax 是一項昂貴的操作,必須顯式執行。如果bins 是一個int,它定義給定範圍內的equal-width bin 的數量(默認為10)。如果bins 是一個序列,它定義了一個單調遞增的 bin 邊數組,包括最右邊的邊,允許不均勻的 bin 寬度。

range(浮點數,浮點數),可選

bin 的下限和上限範圍。如果未提供,範圍隻是 (a.min(), a.max()) 。超出範圍的值將被忽略。範圍的第一個元素必須小於或等於第二個元素。 range 也會影響自動 bin 計算。雖然根據 range 中的實際數據計算出 bin 寬度是最佳的,但 bin 計數將填充整個範圍,包括不包含數據的部分。

normed布爾型,可選

這等效於 density 參數,但會為不相等的 bin 寬度產生不正確的結果。它不應該被使用。

weightsdask.array.Array,可選

權重的 dask.array.Array,與 a 具有相同的塊結構。 a 中的每個值僅將其關聯的權重貢獻給 bin 計數(而不是 1)。如果 density 為 True,則權重被歸一化,因此該範圍內的密度積分保持為 1。

density布爾型,可選

如果False,結果將包含每個 bin 中的樣本數。如果True, 結果就是概率的值密度在 bin 處的函數,歸一化使得不可缺少的在範圍內為 1。請注意,直方圖值的總和將不等於 1,除非選擇了統一寬度的 bin;這不是概率大量的函數。覆蓋normed如果給定關鍵字。如果density是真的,bins不能是 single-number 延遲值。它必須是一個具體的數字,或 bin 邊的 (possibly-delayed) 數組/序列。

返回

hist暗陣列

直方圖的值。有關可能語義的說明,請參見densityweights

bin_edgesdtype 浮點數的 dask 數組

返回 bin 邊 (length(hist)+1)

例子

使用箱數和範圍:

>>> import dask.array as da
>>> import numpy as np
>>> x = da.from_array(np.arange(10000), chunks=10)
>>> h, bins = da.histogram(x, bins=10, range=[0, 10000])
>>> bins
array([    0.,  1000.,  2000.,  3000.,  4000.,  5000.,  6000.,  7000.,
        8000.,  9000., 10000.])
>>> h.compute()
array([1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000, 1000])

明確指定箱子:

>>> h, bins = da.histogram(x, bins=np.array([0, 5000, 10000]))
>>> bins
array([    0,  5000, 10000])
>>> h.compute()
array([5000, 5000])

相關用法


注:本文由純淨天空篩選整理自dask.org大神的英文原創作品 dask.array.histogram。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。