当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。