1

質問

Pandas HDFStore の並べ替えられた列内の値遷移境界を見つけるためのツールを作成したいと考えています。広範囲のデータ分布に対して、これをできるだけ速く実行したいと考えています。

並べ替えられた大きな列が与えられた場合

[1, 1, 3, 3, 3, 3, 3, 5, 6, 9, 10, 10, 10, 15]

等間隔の場所をいくつか選択します

[1, 1, 3, *3*, 3, 3, 3, *5*, 6, 9, 10, *10*, 10, 15] 

これらから、値の遷移がある次のポイント、つまり次の値が現在の値と異なる場所に右に移動したい

[1, 1, 3, 3, 3, 3, *3*, *5*, 6, 9, 10, 10, *10*, 15] 

取得するデータの分布に関係なく、これを迅速かつ確実に実行したいと考えています。

いくつかの懸念

  • データが大きく、ディスクからロードするとコストがかかる場合があります。全体をメモリにロードしたくない
  • 逆に、一度に 1 つの要素をロードすると非常に遅くなると思われるので、おそらく 100 行程度のチャンクを取り込みたいと考えています。ここでの良い経験則は何ですか?
  • 非常に多くの列がある場合があります。1 つの列しか気にしない場合、不要なコストを回避するにはどうすればよいですか (HDFStore が行指向であることはわかっていますが、ここには何か賢いものがあるかもしれません)。
  • 非常に長い並べ替えられたシーケンス (数十万の要素) に遭遇する可能性があります
4

0 に答える 0