sciPy stats.binned_statistic_2d () función | python

| | | | | | | | | | | |

stats.binned_statistic_2d (arr1, arr2, valores, estadística = ' media ', contenedores = 10, rango = Ninguno) calcula la estadística valor para datos bidimensionales dados.
Funciona de manera similar a histogram2d. Dado que la función de histograma hace bins y cuenta no. puntos en cada canasta; esta función calcula la suma, el promedio, la mediana, el conteo u otras estadísticas de valores ‚Äã‚Äãpara cada contenedor.

Parámetros:
arr1 : [array_like] matriz de entrada que se agrupará a lo largo de la primera dimensión.
arr2: [array_like] matriz de entrada que se agrupará a lo largo de la segunda dimensión.
valores : [array_like] sobre las que se calcularán las estadísticas.
estadísticas: Estadísticas para calcular {media, recuento, mediana, suma, función}. El valor predeterminado es la media.
bin: [int o escalares] Si bins es un int, define el número de contenedores de igual ancho en el rango dado (10, de forma predeterminada). Si bins es una secuencia, define los bordes del bin.
rango: (float, float) Rango inferior y superior de los bins 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:


# estadísticas. binned_statistic_2d() método

import numpy as np

de scipy importar estadísticas


x = np.random. rand ( 10 )

y = np.random.rand ( 10 )


z = np.arange ( 10 )


imprimir ( "x:" , x)

imprimir ( "y: " , y)

print ( "z:" , z)


< código clase = "comentarios"> # cantidad

imprimir ( "binned_statistic_2d for count:" ,

stats.binned_statistic_2d (x, y, valores ‚Äã‚Äã = z ,

estadística = ` count` , bins < código clase = "palabra clave"> = [ 5 , 5 ]))

Salida:

x:
[0,31218238 0,86791445 0,42763346 0,79798587 0,91361299 0,09005856
0,54419846 0,189738706 3,189738706 0.8083121]

y:
[0.35959238 0.69265819 0.18751529 0.98863414 0.97810927 0.24054104 0.24054104 0.74054104 0.6554562 0.61585485 0.61551806 0.63884672]

1: 2 4 5 6 7 8 9] binned_statistic_2d for count: BinnedStatistic2dResult (estadística = matriz ([[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_EsEdge = Array ([0.09005856, 0.25476945, 0.41948033, 0.58419122, 0.7489122, 0.74891211,
0.91361291]), Y_EDG E = Array ([0.18751529, 0.34773906, 0.50796283, 0.6681866, 0.82841037,
0.98863414]), binnumber = matriz ([16, 39, 22, 40, 40, 8, 25, 10, 31, 38], dtype = int64))

Código # 2:


# stats.binned_statistic_2d() método

importar numpy como np

de scipy < código clase = "palabra clave"> importar estadísticas


x = np.random.rand ( 10 )

y = np.random. rand ( 10 )

z < /código> = np.arange ( 10 )


# codicioso

print ( "binned_statistic_2d para la media: " ,

< /código> stats.binned_statistic_2d ( x, y, valores ‚Äã‚Äã = z ,

estadística = ` media` < /código> , bins = [ 5 , 5 ]))

Salida:

binned_statistic_2d para media: BinnedStatistic2dResult (estadística = matriz ([[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 = matriz ([0.09005856, 0.25476945, 0.41948033, 0.58419122, 0.7489122,
0.91361291,
0.91361291]), Y_Edge = Array ([0.18751529, 0.34773906, 0.50773906, 0.50796283, 0.6681866, 0.8281866, 0.82841037, 0.98863414]), BinNumber = Array ( [16, 39, 22, 40, 40, 8, 25, 10, 31, 38], dtype = int64))