Wednesday, May 6, 2026
HomeLanguagessciPy stats.binned_statistic_dd() function | Python

sciPy stats.binned_statistic_dd() function | Python

stats.binned_statistic_dd(arr, values, statistic='mean', bins=10, range=None) function computes the binned statistics value for the given two dimensional data.
It works similar to histogram2d. As histogram function makes bins and counts the no. of points in each bin; this function computes the sum, mean, median, count or other statistics of the values for each bin.

Parameters :
arr : [array_like] Data to histogram passed as (N, D) array
values : [array_like]on which stats to be calculated.
statistics : Statistics to compute {mean, count, median, sum, function}. Default is mean.
bin : [int or scalars]If bins is an int, it defines the number of equal-width bins in the given range (10, by default). If bins is a sequence, it defines the bin edges.
range : (float, float) Lower and upper range of the bins and if not provided, range is from x.max() to x.min().

Results : Statistics value for each bin; bin edges; bin number.

Code #1 :




# stats.binned_statistic_dd() method 
import numpy as np
from scipy import stats
  
x = np.ones(10)
y = np.ones(10)
  
print ("x : \n", x)
print ("\ny : \n", y)
  
print ("\nbinned_statistic_2d for count : ", 
       stats.binned_statistic_dd([x, y], None, 'count', bins = 3))


Output :

x :
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

y :
[1. 1. 1. 1. 1. 1. 1. 1. 1. 1.]

binned_statistic_2d for count : BinnedStatisticddResult(statistic=array([[ 0., 0., 0.],
[ 0., 10., 0.],
[ 0., 0., 0.]]), bin_edges=[array([0.5, 0.83333333, 1.16666667, 1.5 ]),
array([0.5, 0.83333333, 1.16666667, 1.5 ])],
binnumber=array([12, 12, 12, 12, 12, 12, 12, 12, 12, 12], dtype=int64))

 
Code #2 :




# importing libraries
import numpy as np
from scipy import stats
  
# using np.ones for x and y
x = np.ones(10)
y = np.ones(10)
  
# Using binned_statistic_dd
print ("\nbinned_statistic_2d for count : ", 
        stats.binned_statistic_dd([x, y], None,
        'count', bins=3, range=[[2,3],[0,0.5]]))


Output :

binned_statistic_2d for count : BinnedStatisticddResult(statistic=array([[0., 0., 0.],
[0., 0., 0.],
[0., 0., 0.]]), bin_edges=[array([2., 2.33333333, 2.66666667, 3. ]),
array([0., 0.16666667, 0.33333333, 0.5 ])],
binnumber=array([4, 4, 4, 4, 4, 4, 4, 4, 4, 4], dtype=int64))

Dominic
Dominichttp://wardslaus.com
infosec,malicious & dos attacks generator, boot rom exploit philanthropist , wild hacker , game developer,
RELATED ARTICLES

Most Popular

Dominic
32514 POSTS0 COMMENTS
Milvus
131 POSTS0 COMMENTS
Nango Kala
6890 POSTS0 COMMENTS
Nicole Veronica
12011 POSTS0 COMMENTS
Nokonwaba Nkukhwana
12105 POSTS0 COMMENTS
Shaida Kate Naidoo
7016 POSTS0 COMMENTS
Ted Musemwa
7262 POSTS0 COMMENTS
Thapelo Manthata
6975 POSTS0 COMMENTS
Umr Jansen
6962 POSTS0 COMMENTS