Данные биннинга с перекрывающимися бинами
Мне нужно данные ветра
Идея состоит в том, чтобы изменить размер бункеров ветра, чтобы каждый бин мог покрыть минимальное количество данных. Затем в конце у меня будет 360 перекрывающихся бункеров.
Поэтому необходимо определить нижний и верхний пределы бункеров и впоследствии изменить верхний предел в соответствии с данными, попадающими в разные бункеры.
np.digitize, кажется, работает только с одномерными ячейками
так что это была моя попытка:
import numpy as np
from scipy.stats import binned_statistic
#initially equal size bins[[lower limit], [upper limit]]
bins=np.array([[np.arange(0,360)], [np.arange(1,361)]])
#dfIn is a vector with angles from 0 to 360
index_Rdir= binned_statistic(dfIn, dfIn, bins=bins)
затем остальная часть алгоритма, в которой вычисляется частота данных в каждом бине, а верхний предел бина увеличивается для тех бинов, которые не получают минимальное количество данных...
при попытке биннинга с binned_statistic вывести следующую ошибку
ValueError: cannot copy sequence with size 2973 to array axis with dimension 3
Если вместо одного массива для бинов я пытаюсь использовать список, я получаю похожую ошибку.
Я пытался также с np.histogram, так как в соответствии с документацией допускается неравномерный размер корзины
index_Rdir= np.histogram(dfIn, bins=bins)
all the input arrays must have same number of dimensions