4
numpy.median.reduceatの高速代替
この回答に関連して、要素数が等しくないグループを持つ配列の中央値を計算する高速な方法はありますか? 例えば: data = [1.00, 1.05, 1.30, 1.20, 1.06, 1.54, 1.33, 1.87, 1.67, ... ] index = [0, 0, 1, 1, 1, 1, 2, 3, 3, ... ] そして私は、(例えば、中央値グループの数やグループごとの中央値との差異を計算したい0です1.025最初の結果があるので1.00 - 1.025 = -0.025)。したがって、上記の配列の場合、結果は次のようになります。 result = [-0.025, 0.025, 0.05, -0.05, -0.19, 0.29, 0.00, 0.10, -0.10, ...] np.median.reduceat(まだ)存在しないので、これを達成する別の高速な方法はありますか?私のアレイには数百万の行が含まれるため、速度は非常に重要です。 インデックスは連続していて順序付けられていると見なすことができます(そうでない場合は簡単に変換できます)。 パフォーマンス比較のデータ例: import numpy …