función sciPy stats.binned_statistic_2d() | Python

stats.binned_statistic_2d(arr1, arr2, values, statistic='mean', bins=10, range=None)La función calcula el valor estadístico agrupado para los datos bidimensionales dados.
Funciona de manera similar a histogram2d. Como función de histograma, hace contenedores y cuenta el no. de puntos en cada bin; esta función calcula la suma, la media, la mediana, el recuento u otras estadísticas de los valores de cada contenedor.

Parámetros:
arr1: [array_like] array de entrada que se agrupará a lo largo de la primera dimensión.
arr2 : [array_like]array de entrada que se agrupará a lo largo de la segunda dimensión.
valores: [array_like] sobre los cuales se calcularán las estadísticas.
estadísticas: estadísticas para calcular {media, recuento, mediana, suma, función}. El valor predeterminado es malo.
bin : [int o escalares] Si bins es un int, define el número de bins de igual ancho en el rango dado (10, por defecto). Si bins es una secuencia, define los bordes del bin.
rango: (flotante, flotante) Rango inferior y superior de los contenedores y, si no se proporciona, el rango es de x.max() a x.min().

Resultados: valor de estadísticas para cada contenedor; bordes de contenedores a lo largo de la primera y segunda dimensión; número de contenedor

Código #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]))

Producción :

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 para contar: BinnedStatistic2dResult(estadística=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_borde= 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))

 
Código #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])) 

Producción :

binned_statistic_2d para media: 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])
, borde_y=array([0.18751529, 0.34773906, 0.50796283, 0.6681866, 0.82841037,
0.98863414]), binnumber=array([16, 39, 22, 40, 40, 8, 25, 10, 31, 38int6]4, d)

Publicación traducida automáticamente

Artículo escrito por vishal3096 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *