stats.binned_statistic_2d (arr1, arr2, values, statistic = ' mean ', bins = 10, range = None)
вычисляет статистику значение для заданных двумерных данных.
Он работает аналогично histogram2d. Так как функция гистограммы делает интервалы, а не считает. очки в каждой корзине; эта функция вычисляет сумму, среднее значение, медиану, количество или другую статистику значений ‚Äã‚Äãдля каждого интервала.
Параметры:
arr1 : [array_like] входной массив для группирования по первому измерению.
arr2: [array_like] входной массив для группирования по второму измерению.
значения : [array_like] для расчета статистики.
статистика: статистика для вычисления {среднего, подсчета, медианы, суммы, функции}. Значение по умолчанию — среднее.
bin: [целое число или скаляры] Если bins — целое число, оно определяет количество бинов равной ширины в заданном диапазоне (по умолчанию 10). Если бины — это последовательность, она определяет края бинов.
диапазон: (с плавающей запятой, плавающая) Нижний и верхний диапазон бинов, а если не указан, диапазон от x.max () до x.min ().Результаты: значение статистики для каждого бина; ребра ячеек по первому и второму измерению; номер корзины.
Код #1:
# stats. метод binned_statistic_2d ()
import
numpy as np
from
scipy
import
статистика
x
=
np.random. rand (
10
)
y
=
np.random.rand (
10
)
z
=
np.arange (
10
)
печать
(
"x:"
, x)
print
(
"y: "
, y)
print
(
"z:"
, z)
# количество
print
(
"binned_statistic_2d для подсчета:"
,
stats.binned_statistic_2d (x, y, значения ‚Äã‚Äã
=
z ,
статистика
=
` count`
, бины
=
[
5
,
5
]))
Вывод:
x:
[0,31218238 0,86791445 0,42763346 0,79798587 0,91361299 0,09005856
0,547419846 0,18973941 0,18973948 0,42763346 0,79798587 0.8083121]y:
[0.35959238 0.69265819 0.18751529 0.98863414 0.97810927 0.24054104
0.76764562 0.60635485 0.61551806 0.63884672]1: 2 3 4 5 6 7 8 9]
binned_statistic_2d для подсчета: 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_geed = массив ([0.09005856, 0.25476945, 0.25476945, 0.58419122, 0.5841912, 0.74890211,
0.91361299]), y_edg e = Array ([0.18751529, 0.34773906, 0.50796283, 0,6681866, 0,82841037,
0,98863414]), binnumber = массив ([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
статистика
x
=
np.random.rand (
10
)
y
=
np.random. rand (
10
)
z
=
np.arange (
10
)
# жадный
print
(
"binned_statistic_2d for mean : "
,
stats.binned_statistic_2d ( x, y, values ​​
=
z ,
статистика
=
` mean `
, bins
=
[
5
,
5
]))
Вывод:
binned_statistic_2d для среднего значения: BinnedStatistic2dResult (статистика = массив ([[5., nan, 7., nan, nan],
[nan, 0., nan, nan, nan],
[2., нан, нан, 6., нан],
[нан, нан, 8., нан, нан],
[нан, нан, 9., 1., 3.5]] ), X_EDGE = Array ([0.09005856, 0.25476945, 0.25476945, 0.41948033, 0.58419122, 0.74890211, 0,74890299, 0.74890299,
0.91361299]), y_1161299]), y_1161299, 0.3473906, 0.50796283, 0.6681866, 0.82841037,
0.98863414]), Binnumber = Array ( [16, 39, 22, 40, 40, 8, 25, 10, 31, 38], dtype = int64))