問題タブ [sparse-array]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
305 参照

java - カスタム バッファ クラスに描画する [Java]

短いバージョン: (Graphics2D 経由で) カスタム バッファー クラス (「スパース」ラスター イメージ) に描画することは可能ですか?

より長いバージョン: ポリゴン (閉じたパスで指定) をラスター イメージに変換したいと思います。

しかし、ポリゴンが非常に大きくなる可能性があるため (これは研究プロジェクトです)、スパース ストレージを使用する必要があります (プロジェクトのこの部分は、私の前の誰かによって既に実装されていました)。

(効率的な) ラスタリング アルゴリズムの実装には時間がかかるため、Java によって既に提供されているメソッド (Graphics2D など) を使用し、BufferedImage に描画する代わりに、独自のカスタム ストレージに描画しようとします (BufferedSparseImage のように考えてください)。 )。

それは可能ですか/これを達成する最も簡単な方法は何ですか?

0 投票する
1 に答える
229 参照

android - SparseArrayCompat の indexOfValue(E) は常に -1 を返しますか?

indexOfValue(E)Eメソッドは常に -1 を返しますが、オブジェクトがオブジェクト内に存在すると確信しているのSparseArrayはなぜですか? 私は持っている :

SparseLongArray は、私のプロジェクトが API 9 の最小値をサポートする API 18+ をサポートしているため、使用できません。

0 投票する
0 に答える
169 参照

matlab - MATLAB で 2D 累積テーブルを作成するには?

2D 累積構造として使用できるスパース セルを作成したいと考えています。

行列の次元は約10e6です。私が考えたいくつかのことは次のとおりです。

スパース行列

もちろん、マトリックスの要素は であるべきなので、これはうまくいきませんarray

細胞

これは何とか機能します。しかし、メモリは非常に重いです。最初の割り当てで大量のメモリが必要です。細胞構造そのものがまばらだと言われていますが、私の場合は現実的ではないようです。

地図

私はマップを使用して、座標がキーであるセットを保存することを考えました。ただし、2次元座標ではなく、「char」をキータイプとして割り当てる方法しか見つかりません。

0 投票する
2 に答える
2874 参照

numpy - 疎行列の einsum

numpy の関数は行列einsumでは機能しないようです。スパース行列でできるようなことscipy.sparseを行う代替手段はありますか?einsum

@eickenberg の回答に応えて: 私が望んでいる特定の einsumnumpy.einsum("ki,kj->ij",A,A)は、行の外積の合計です。

0 投票する
1 に答える
2243 参照

r - r の疎行列から疎行を抽出する

R で分析する大きな疎行列があります。たとえば、次のようになります。

この行列からi番目の行をスパース ベクトルとして抽出したいと考えています。私が書くなら

私は得る

しかし、私が欲しいのは

私が期待しているのは、新しいベクトルがゼロを具体化しないことです。これどうやってするの?

ありがとう

0 投票する
1 に答える
1075 参照

android - LongSparseArray 値の並べ替え

LongSparseArray格納されているオブジェクトがインターフェイス Comparable を実装する変数があります。「手動で」行わずに、それらを並べ替える簡単な方法はありますか? を試しCollections.sort(myLongSparseArray)ましたが、List インターフェイスを実装していません。

別の方法はそれをリストに変換することもできますが、それでもそれを行う方法は見つかりませんでした。

0 投票する
4 に答える
12306 参照

android - 文字列キーを持つAndroid SparseArray?

キー/値を Android アプリに格納するためにハッシュマップを使用する必要がありますが (数千になる可能性があります)、メモリを節約するために SparseArray を使用する必要があることを理解しています。ただし、キーは文字列である必要があります。SparseArray またはその他の代替手段のカスタム実装を作成する方法はありますか?

0 投票する
4 に答える
1452 参照

android - SparseBooleanArray を SharedPreferences に保存

私のアプリでは、単純な SparseBooleanArray をメモリに保存し、後で読み取る必要があります。SharedPreferences を使用して保存する方法はありますか?

SQLite データベースの使用を検討しましたが、このような単純なものにはやり過ぎのように思えました。StackOverflow で見つけた他の回答の中には、文字列として保存するために GSON を使用することを提案したものもありますが、このアプリを非常に軽量で高速なファイル サイズに保つ必要があります。サードパーティのライブラリに依存せずに、優れたパフォーマンスを維持しながらこれを達成する方法はありますか?

0 投票する
2 に答える
1261 参照

java - SparseArray<> を作成して ArrayList を含める

私は ArrayList のリストを作成する必要があります、私の考えはそれでした:

それは言う:

だから、私はこれを試します:

ただし、この配列にデータを入力するには、次のエラーを返します。

または

どこが間違っていて、配列の配列リストを作成するためのより良い解決策は何ですか!?

0 投票する
0 に答える
573 参照

python - Pandas: MultiIndex にすばやく参加するか、インデックスを再作成する

特定の時間にはアクティビティがあり、他の時間にはアクティビティがまったくない、非常にまばらな多次元時系列があります。Pandas のデータを と で表していSparseDataframeますMultiIndex。ワークフローは、ゼロ以外の小さなデータ セットに対して計算を実行し、その結果を大きなスパース データフレームに入れることです。後で、そのまばらなデータフレームで計算を行います (つまり、ゼロ アクティビティ領域を含め、時間の経過に伴うアクティビティの変化を追跡します)。

問題は、小さなデータセットをスパースデータフレームに入れることです。以下は、私が最終的に使用するものよりもはるかに小さいデータセットです。

通常のインデックスでは問題ありません。

を使用するMultiIndexと、はるかに遅くなります。

問題は使用にあるのではないかと思ったjoinので、別のルートを試しました。高速でしたが、問題は解決しませんでした。

reindexの代わりに使用する方が確かに高速ですjoinが、現在MultiIndexはさらに低速です。

私のオプションは何ですか?で通常の​​インデックスの速度を達成する方法はありMultiIndexますか? のような通常のインデックス関数を作成するエレガントな方法はありMultiIndexますか? これをすべて行う方法を再考する必要がありますか?