本文簡要介紹 python 語言中 scipy.stats.binned_statistic_2d
的用法。
用法:
scipy.stats.binned_statistic_2d(x, y, values, statistic='mean', bins=10, range=None, expand_binnumbers=False)#
計算一組或多組數據的二維分箱統計量。
這是 histogram2d 函數的概括。直方圖將空間劃分為多個 bin,並返回每個 bin 中的點數。此函數允許計算每個 bin 內的值(或值集)的總和、平均值、中位數或其他統計量。
- x: (N,) 數組
要沿第一個維度分箱的一係列值。
- y: (N,) 數組
要沿第二維分箱的一係列值。
- values: (N,) 數組 或 (N,) 數組 列表
將根據其計算統計數據的數據。這必須與 x 的形狀相同,或者是一個序列列表——每個序列的形狀都與 x 相同。如果 values 是這樣一個列表,則將獨立計算每個值的統計信息。
- statistic: 字符串或可調用,可選
要計算的統計數據(默認為‘mean’)。可用的統計數據如下:
‘mean’ : compute the mean of values for points within each bin. Empty bins will be represented by NaN.
‘std’ : compute the standard deviation within each bin. This is implicitly calculated with ddof=0.
‘median’ : compute the median of values for points within each bin. Empty bins will be represented by NaN.
‘count’ : compute the count of points within each bin. This is identical to an unweighted histogram. values array is not referenced.
‘sum’ : compute the sum of values for points within each bin. This is identical to a weighted histogram.
‘min’ : compute the minimum of values for points within each bin. Empty bins will be represented by NaN.
‘max’ : compute the maximum of values for point within each bin. Empty bins will be represented by NaN.
function : a user-defined function which takes a 1D array of values, and outputs a single numerical statistic. This function will be called on the values in each bin. Empty bins will be represented by function([]), or NaN if this returns an error.
- bins: int 或 [int, int] 或 數組 或 [array, array],可選
箱規格:
the number of bins for the two dimensions (nx = ny = bins),
the number of bins in each dimension (nx, ny = bins),
the bin edges for the two dimensions (x_edge = y_edge = bins),
the bin edges in each dimension (x_edge, y_edge = bins).
如果指定了 bin 邊,則 bin 的數量將為 (nx = len(x_edge)-1, ny = len(y_edge)-1)。
- range: (2,2) 數組,可選
沿每個維度的 bin 的最左側和最右側邊(如果未在 bin 參數中明確指定):[[xmin, xmax], [ymin, ymax]]。此範圍之外的所有值都將被視為異常值,並且不計入直方圖中。
- expand_binnumbers: 布爾型,可選
‘False’(默認):返回的 binnumber 是線性化 bin 索引的形狀 (N,) 數組。 ‘True’:返回的 binnumber 為 ‘unraveled’,為 (2,N) ndarray 形狀,其中每一行給出相應維度中的 bin 編號。請參閱 binnumber 返回值和示例部分。
- statistic: (nx, ny) 數組
每個二維 bin 中所選統計數據的值。
- x_edge: (nx + 1) 數組
bin 沿第一個維度邊。
- y_edge: (ny + 1) 數組
箱沿第二個維度邊。
- binnumber: (N,) 整數數組或 (2,N) 整數數組
這會為樣本的每個元素分配一個整數,該整數表示該觀測值所在的 bin。表示取決於expand_binnumbers 參數。有關詳細信息,請參閱注釋。
參數 ::
返回 ::
注意:
Binedges:除了最後一個(righthand-most)箱子外,所有箱子都是半開的。換句話說,如果箱子是
[1, 2, 3, 4]
,那麽第一個 bin 是[1, 2)
(包括1個,但不包括2個)和第二個[2, 3)
.然而,最後一個箱子是[3, 4]
, 哪一個包括 4.binnumber:此返回參數為樣本的每個元素分配一個整數,表示它所屬的容器。該表示取決於 expand_binnumbers 參數。如果“False”(默認):返回的 binnumber 是一個形狀 (N,) 線性化索引數組,將樣本的每個元素映射到其相應的 bin(使用行優先排序)。請注意,返回的線性化 bin 索引用於在外部 binedge 上具有額外 bin 的數組,以捕獲定義的 bin 邊界之外的值。如果“True”:返回的 binnumber 是形狀 (2,N) ndarray,其中每行分別表示每個維度的 bin 位置。在每個維度中,i 的 binnumber 表示對應的值在 (D_edge[i-1], D_edge[i]) 之間,其中“D”是 ‘x’ 或 ‘y’。
例子:
>>> from scipy import stats
使用顯式 bin-edges 計算計數:
>>> x = [0.1, 0.1, 0.1, 0.6] >>> y = [2.1, 2.6, 2.1, 2.1] >>> binx = [0.0, 0.5, 1.0] >>> biny = [2.0, 2.5, 3.0] >>> ret = stats.binned_statistic_2d(x, y, None, 'count', bins=[binx, biny]) >>> ret.statistic array([[2., 1.], [1., 0.]])
放置每個樣本的 bin 由 binnumber 返回參數給出。默認情況下,這些是線性化的 bin 索引:
>>> ret.binnumber array([5, 6, 5, 9])
也可以使用 expand_binnumbers 參數將 bin 索引擴展為每個維度的單獨條目:
>>> ret = stats.binned_statistic_2d(x, y, None, 'count', bins=[binx, biny], ... expand_binnumbers=True) >>> ret.binnumber array([[1, 1, 1, 2], [1, 2, 1, 1]])
這表明前三個元素屬於xbin 1,第四個元素屬於xbin 2;依此類推。
相關用法
- Python SciPy stats.binned_statistic_dd用法及代碼示例
- Python SciPy stats.binned_statistic用法及代碼示例
- Python SciPy stats.binom用法及代碼示例
- Python SciPy stats.binomtest用法及代碼示例
- Python SciPy stats.binom_test用法及代碼示例
- Python SciPy stats.bartlett用法及代碼示例
- Python SciPy stats.boltzmann用法及代碼示例
- Python SciPy stats.brunnermunzel用法及代碼示例
- Python SciPy stats.betaprime用法及代碼示例
- Python SciPy stats.betabinom用法及代碼示例
- Python SciPy stats.boxcox_normplot用法及代碼示例
- Python SciPy stats.boxcox用法及代碼示例
- Python SciPy stats.bayes_mvs用法及代碼示例
- Python SciPy stats.boxcox_normmax用法及代碼示例
- Python SciPy stats.burr12用法及代碼示例
- Python SciPy stats.boschloo_exact用法及代碼示例
- Python SciPy stats.bootstrap用法及代碼示例
- Python SciPy stats.burr用法及代碼示例
- Python SciPy stats.bws_test用法及代碼示例
- Python SciPy stats.beta用法及代碼示例
- Python SciPy stats.bradford用法及代碼示例
- Python SciPy stats.boxcox_llf用法及代碼示例
- Python SciPy stats.bernoulli用法及代碼示例
- Python SciPy stats.barnard_exact用法及代碼示例
- Python SciPy stats.anderson用法及代碼示例
注:本文由純淨天空篩選整理自scipy.org大神的英文原創作品 scipy.stats.binned_statistic_2d。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。