Лучший способ связать все значения х в диапазоне, а затем взять среднее значение всех значений у в каждом бине? - PullRequest
0 голосов
/ 19 февраля 2020

У меня есть список координат x, y. Значения x близки друг к другу, но не совпадают. Я хотел бы связать значения х вместе в пределах диапазона, а затем взять среднее значение значений у в каждом бине. Я хочу, чтобы конечные результаты представляли собой два одномерных массива - одно из значений x в двоичном формате, а другое - из средних значений y.

В качестве примера, для list = ((1.0, 10.2), (1.3, 10.1), (1.6, 10.8), (2.3, 12.0), (2.4, 12.7)),

я хотел бы, чтобы выходные данные были: x = [1.0, 1.5, 2.0] и y = [10.15, 10.8, 12.35].

В приведенном ниже коде я пытаюсь scipy's stats.binned_statistic, но не увенчались успехом, так как я не уверен, как указать размер корзины. В приведенном ниже коде я поместил 10 элементов в ячейку, чтобы попытаться заставить его работать, но на самом деле я хотел бы указать диапазон, такой как все числа в диапазоне 0,5 друг от друга, которые будут объединены.

Я также посмотрел на numpy.digitize, но не был, если это то, что я ищу.

import numpy as np
from scipy import stats

x = [x_values]
y = [corresponding_y_values]
test = stats.binned_statistic(x, y, 'mean', bins=(len(x))/10)
plt.plot(test)

1 Ответ

0 голосов
/ 20 февраля 2020

В случае, если у кого-то еще будет такой же вопрос в будущем, я решу этот вопрос:

...