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


Python Scipy stats.binned_statistic_2d()用法及代碼示例


stats.binned_statistic_2d(arr1, arr2, values, statistic='mean', bins=10, range=None) 函數為給定的二維數據計算合並的統計值。
它的工作原理類似於histogram2d。直方圖函數使箱子計數為零。每個箱子中的點數;此函數計算每個倉的值的總和,均值,中位數,計數或其他統計量。

參數:
arr1 :[數組]輸入數組將沿第一維合並。
arr2 :[數組]輸入數組將沿第二維合並。
values :[數組]要計算哪些統計信息。
statistics:統計以計算{平均值,計數,中位數,和,函數}。默認為平均值。
bins:[int或標量]如果bins是一個int,則它定義給定範圍內的equal-width bins的數量(默認為10)。如果bin是序列,則它定義bin的邊。
range :(浮點數,浮點數)箱子的上下範圍,如果未提供,則範圍為x.max()至x.min()。

Results:每個倉的統計值;沿第一維和第二維的邊沿邊;箱號。



代碼1:

# stats.binned_statistic_2d() method  
import numpy as np 
from scipy import stats 
  
x = np.random.rand(10) 
y = np.random.rand(10) 
  
z = np.arange(10) 
  
print ("x:\n", x) 
print ("\ny:\n", y) 
print ("\nz:\n", z) 
  
# count 
print ("\nbinned_statistic_2d for count:",  
       stats.binned_statistic_2d(x, y, values = z,  
                statistic ='count', bins = [5, 5]))

輸出:

x:
[0.31218238 0.86791445 0.42763346 0.79798587 0.91361299 0.09005856
0.54419846 0.18973948 0.67016378 0.8083121 ]

y:
[0.35959238 0.69265819 0.18751529 0.98863414 0.97810927 0.24054104
0.76764562 0.60635485 0.61551806 0.63884672]

z:
[0 1 2 3 4 5 6 7 8 9]

binned_statistic_2d for count: BinnedStatistic2dResult(statistic=array([[1., 0., 1., 0., 0.],
[0., 1., 0., 0., 0.],
[1., 0., 0., 1., 0.],
[0., 0., 1., 0., 0.],
[0., 0., 1., 1., 2.]]), x_edge=array([0.09005856, 0.25476945, 0.41948033, 0.58419122, 0.74890211,
0.91361299]), y_edge=array([0.18751529, 0.34773906, 0.50796283, 0.6681866, 0.82841037,
0.98863414]), binnumber=array([16, 39, 22, 40, 40, 8, 25, 10, 31, 38], dtype=int64))


代碼2:

# stats.binned_statistic_2d() method  
import numpy as np 
from scipy import stats 
  
x = np.random.rand(10) 
y = np.random.rand(10) 
z = np.arange(10) 
  
# mean 
print ("\nbinned_statistic_2d for mean:",  
       stats.binned_statistic_2d(x, y, values = z, 
                   statistic ='mean', bins = [5, 5])) 

輸出:

binned_statistic_2d for mean: BinnedStatistic2dResult(statistic=array([[5., nan, 7., nan, nan],
[nan, 0., nan, nan, nan],
[2., nan, nan, 6., nan],
[nan, nan, 8., nan, nan],
[nan, nan, 9., 1., 3.5]]), x_edge=array([0.09005856, 0.25476945, 0.41948033, 0.58419122, 0.74890211,
0.91361299]), y_edge=array([0.18751529, 0.34773906, 0.50796283, 0.6681866, 0.82841037,
0.98863414]), binnumber=array([16, 39, 22, 40, 40, 8, 25, 10, 31, 38], dtype=int64))




相關用法


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