Биннинг данных по обе стороны от бина в Python - PullRequest
0 голосов
/ 14 апреля 2019

Я пытаюсь скопировать данные, разбивая их на основе ближайшего, а не стандартного способа в numpy.digitize, который, кажется, помещает данные в корзину выше или ниже значения, основанного на right=True/False аргумент.

В настоящее время я реализовал следующее:

bins = np.array([-100,-90,-80,-70,-60,-50,-40,-30,-20,-10,0,10,20,30,40,50,60,70,80,90,100])

np.digitize(imbalance, bins, right=False)

Где imbalance - это число в диапазоне от -100 до 100. В настоящее время этот метод будет помещать bin в 0 только когда imbalance находится в диапазоне от -10 до 0.

Например:

np.digitize(1, bins, right=False)

возвращается как добавленный в 10, а не 0.

Я бы хотел, чтобы любое число от -5 до 5 попадало в 0, и так далее. Судя по документации для numpy.digitize, это кажется невозможным. Я изучил scipy.stats.binned_statistic, но не могу понять, как это сделать, прочитав там документацию.

Заранее спасибо!

...