sciPy stats . binned _ statistics()函数| Python
原文:https://www.geesforgeks.org/scipy-stats-binned _ statistics-function-python/
**stats.binned_statistic(x, values, statistic='mean', bins=10, range=None)**
函数计算给定数据(数组元素)的入库统计值。
工作原理类似于直方图功能。As 直方图功能制作面元并计算每个面元中的点数;该函数计算每个箱的值的总和、平均值、中值、计数或其他统计数据。
参数: arr:【array _ like】输入待入库数组。 值:【array _ like】要计算哪个属性。 统计:统计计算{均值、计数、中值、和、函数}。默认是卑鄙的。 bin:【int 或 scalars】如果 bin 为 int,则定义给定范围内等宽 bin 的数量(默认为 10)。如果面元是一个序列,它定义面元的边。 范围:(浮动,浮动)箱柜的上下范围,如果没有提供,范围从 x.max()到 x.min()。
结果:各仓统计值;箱边缘;箱号。
代码#1 :
# stats.binned_statistic() method
import numpy as np
from scipy import stats
# 1D array
arr = [20, 2, 7, 1, 34]
print("\narr : \n", arr)
# median
print("\nbinned_statistic for median : \n", stats.binned_statistic(
arr, np.arange(5), statistic ='median', bins = 4))
输出:
arr :
[20, 2, 7, 1, 34]
binned_statistic for median :
BinnedStatisticResult(statistic=array([ 2., nan, 0., 4.]),
bin_edges=array([ 1., 9.25, 17.5, 25.75, 34\. ]),
binnumber=array([3, 1, 1, 1, 4], dtype=int64))
代码#2 :
# stats.binned_statistic() method
import numpy as np
from scipy import stats
# mean
arr = [20, 2, 7, 1, 34]
print("\nbinned_statistic for mean : \n", stats.binned_statistic(
arr, np.arange(5), statistic ='mean', bins = 2))
输出:
binned_statistic for mean :
BinnedStatisticResult(statistic=array([2., 2.]),
bin_edges=array([ 1., 17.5, 34\. ]),
binnumber=array([2, 1, 1, 1, 2], dtype=int64))