Я пытаюсь скопировать данные, разбивая их на основе ближайшего, а не стандартного способа в 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
, но не могу понять, как это сделать, прочитав там документацию.
Заранее спасибо!