Я биннинг в 2d массива (х на у) в Python в закрома его значения х (в данном «закромах»), используя np.digitize:Векторизованный подход к биннингу с Numpy/SciPy в Python
elements_to_bins = digitize(vals, bins)
где "Vals" является 2d массив, то есть:
vals = array([[1, v1], [2, v2], ...]).
elements_to_bins просто говорит, что бен каждый элемент попадает. То, что я тогда хочу сделать, это получить список, длина которого - количество ящиков в «бункерах», и каждый элемент возвращает y-меру «vals», которая попадает в этот бит. Я делаю это прямо сейчас:
points_by_bins = []
for curr_bin in range(min(elements_to_bins), max(elements_to_bins) + 1):
curr_indx = where(elements_to_bins == curr_bin)[0]
curr_bin_vals = vals[:, curr_indx]
points_by_bins.append(curr_bin_vals)
есть ли более элегантный/более простой способ сделать это? Все, что мне нужно, это список списков значений y, которые попадают в каждый бит.
спасибо.
Если один из ответов решил вашу проблему, отметьте его как принятый (зеленая галочка)! :) – EOL