У меня возникли проблемы с разработкой подходящего алгоритма биннинга в Mathematica. У меня есть большой (~ 100 тыс. Элементов) набор данных формы Т = {{x1, y1, z1}, {x2, y2, z2},....} и я хочу объединить его в 2D-массив размером около 100x100 бит, причем значение bin задается суммой значений Z, которые попадают в каждую ячейку.
В настоящее время я повторяю каждый элемент таблицы, используя Select, чтобы выбрать, в каком бункере он должен быть основан на списках границ bin, и добавив значение z в список значений, занимающих этот бит. В конце я нарисую Total на список ящиков, суммируя их содержимое (я делаю это, потому что иногда хочу делать другие вещи, например максимизировать).
Я попытался использовать Gather и другие подобные функции для этого, но вышеупомянутый метод был смехотворно быстрее, хотя, возможно, я плохо использую Gather. Во всяком случае, по-прежнему требуется несколько минут, чтобы выполнить сортировку по моему методу, и я чувствую, что Mathematica может сделать лучше. У кого-нибудь есть хороший эффективный алгоритм?