Mathematica で適切に高速なビニングアルゴリズムを開発するのに苦労しています. T={{x1,y1,z1},{x2,y2,z2},....} という形式の大規模な (~100k 要素) データ セットがあり、それを 2D 配列にビン化したい100x100 ビン。ビン値は、各ビンに分類される Z 値の合計によって与えられます。
現在、テーブルの各要素を反復処理しており、Select を使用して、ビン境界のリストに基づいてどのビンにあると想定されているかを選択し、そのビンを占める値のリストに z 値を追加しています。最後に、Total をビンのリストにマップし、それらの内容を合計します (これを行うのは、最大化などの他のことをしたい場合があるためです)。
これを行うために Gather などの関数を使用してみましたが、おそらく Gather の使用が不十分であるにもかかわらず、上記の方法はとてつもなく高速でした。とにかく、私の方法で並べ替えを行うにはまだ数分かかりますが、Mathematica の方がうまくいくと思います。誰かが便利な効率的なアルゴリズムを持っていますか?