binned_statistic_2d#
- scipy.stats.binned_statistic_2d(x, y, values, статистика='mean', bins=10, range=None, expand_binnumbers=False)[источник]#
Вычисление двумерной бинированной статистики для одного или нескольких наборов данных.
Это обобщение функции histogram2d. Гистограмма делит пространство на бины и возвращает количество точек в каждом бине. Эта функция позволяет вычислять сумму, среднее, медиану или другую статистику значений (или набора значений) в каждом бине.
- Параметры:
- x(N,) array_like
Последовательность значений для бинирования по первому измерению.
- y(N,) array_like
Последовательность значений для бинирования по второму измерению.
- values(N,) array_like или список из (N,) array_like
Данные, по которым будет вычисляться статистика. Они должны иметь ту же форму, что и x, или список последовательностей - каждая с той же формой, что и x. Если values если это такой список, статистика будет вычислена для каждого независимо.
- статистикастрока или вызываемый объект, необязательный
Статистика для вычисления (по умолчанию 'mean'). Доступны следующие статистики:
‘mean’ : вычисляет среднее значений точек в каждом бине. Пустые бины будут представлены NaN.
'std' : вычисляет стандартное отклонение внутри каждого бина. Это неявно рассчитывается с ddof=0.
‘median’ : вычисляет медиану значений для точек в каждом бине. Пустые бины будут представлены NaN.
'count' : вычисление количества точек в каждом бине. Это идентично невзвешенной гистограмме. values массив не используется.
‘sum’ : вычисляет сумму значений для точек в каждом бине. Это идентично взвешенной гистограмме.
'min' : вычисляет минимальное значение точек в каждом бине. Пустые бины будут представлены NaN.
‘max’ : вычисление максимального значения для точек в каждом бине. Пустые бины будут представлены NaN.
функция : пользовательская функция, которая принимает 1D массив значений и выводит одну числовую статистику. Эта функция будет вызываться для значений в каждом бине. Пустые бины будут представлены как function([]) или NaN, если это возвращает ошибку.
- binsint или [int, int] или array_like или [array, array], опционально
Спецификация бина:
количество бинов для двух измерений (nx = ny = bins),
количество бинов в каждом измерении (nx, ny = bins),
границы бинов для двух измерений (x_edge = y_edge = bins),
границы бинов в каждом измерении (x_edge, y_edge = bins).
Если указаны границы бинов, количество бинов будет (nx = len(x_edge)-1, ny = len(y_edge)-1).
- range(2,2) array_like, опционально
Левый и правый края бинов по каждому измерению (если не указаны явно в bins параметры): [[xmin, xmax], [ymin, ymax]]. Все значения вне этого диапазона будут считаться выбросами и не учитываться в гистограмме.
- expand_binnumbersbool, необязательно
‘False’ (по умолчанию): возвращаемый binnumber является массивом формы (N,) линейных индексов бинов. ‘True’: возвращаемый binnumber разворачивается в массив формы (2,N) ndarray, где каждая строка дает номера бинов в соответствующем измерении. См. binnumber возвращаемое значение, и Примеры раздел.
Добавлено в версии 0.17.0.
- Возвращает:
- статистика(nx, ny) ndarray
Значения выбранной статистики в каждом двумерном бине.
- x_edge(nx + 1) ndarray
Границы бинов по первому измерению.
- y_edge(ny + 1) ndarray
Границы бинов по второму измерению.
- binnumber(N,) массив целых чисел или (2,N) ndarray целых чисел
Это присваивает каждому элементу sample целое число, которое представляет бинарный контейнер, в который попадает это наблюдение. Представление зависит от expand_binnumbers аргумент. См. Примечания подробности.
Смотрите также
Примечания
Границы бинов: Все, кроме последнего (самого правого) бина, полуоткрыты. Другими словами, если bins является
[1, 2, 3, 4], тогда первый бинарный интервал[1, 2)(включая 1, но исключая 2) и второй[2, 3). Однако последний бинар[3, 4], который includes 4.binnumber: Этот возвращаемый аргумент присваивает каждому элементу sample целое число, которое представляет бинарный контейнер, к которому оно принадлежит. Представление зависит от expand_binnumbers аргумент. Если 'False' (по умолчанию): Возвращаемый binnumber является массивом формы (N,) линейных индексов, отображающих каждый элемент sample в соответствующий бинарный контейнер (используя порядок строк-столбцов). Обратите внимание, что возвращаемые линейные индексы бинарных контейнеров используются для массива с дополнительными контейнерами на внешних границах для захвата значений за пределами определенных границ контейнеров. Если 'True': Возвращаемый binnumber имеет форму (2,N) ndarray, где каждая строка указывает размещение бинов для каждого измерения соответственно. В каждом измерении номер бина i означает, что соответствующее значение находится между (D_edge[i-1], D_edge[i]), где ‘D’ — это либо ‘x’, либо ‘y’.
Добавлено в версии 0.11.0.
Примеры
>>> from scipy import stats
Вычислить количество с явными границами бинов:
>>> x = [0.1, 0.1, 0.1, 0.6] >>> y = [2.1, 2.6, 2.1, 2.1] >>> binx = [0.0, 0.5, 1.0] >>> biny = [2.0, 2.5, 3.0] >>> ret = stats.binned_statistic_2d(x, y, None, 'count', bins=[binx, biny]) >>> ret.statistic array([[2., 1.], [1., 0.]])
Бин, в который помещается каждый образец, задается binnumber возвращаемом параметре. По умолчанию это линейные индексы бинов:
>>> ret.binnumber array([5, 6, 5, 9])
Индексы бинов также могут быть развернуты в отдельные записи для каждого измерения с использованием expand_binnumbers параметр:
>>> ret = stats.binned_statistic_2d(x, y, None, 'count', bins=[binx, biny], ... expand_binnumbers=True) >>> ret.binnumber array([[1, 1, 1, 2], [1, 2, 1, 1]])
Что показывает, что первые три элемента принадлежат xbin 1, а четвертый — xbin 2; и так далее для y.