私は、長さ1024の値のベクトルg
と、ビン境界を定義するより小さなベクトルf
のサイズ32を持っています。 v
およびf
は昇順にソートされます。それぞれのベクトルがg
とf_i
とf_i + 1
の間のインデックスを含むように、ベクトルの配列、すなわち長さがlen(f)
の[v_1,v_2,v_3,...]
を返したいと思います。ループを伴わないようなことをするNumPyの方法はありますか?最初numpy binning:述語を満たす配列インデックスを取得する方法
0
A
答えて
1
あなたはソートを見つけるためにsearchsorted
を使用することができますf
の位置はg
です。例えば
、
In [42]: g
Out[42]:
array([ 1, 11, 19, 20, 21, 32, 36, 41, 47, 53, 54, 55, 65, 66, 69, 74, 76,
87, 89, 94])
In [43]: f
Out[43]: [0, 10, 20, 50, 100]
In [44]: binedges = g.searchsorted(f)
In [45]: binedges
Out[45]: array([ 0, 1, 3, 9, 20])
配列binedges
はあなたが必要なすべての情報を提供します:ビンk
のためのインデックスの範囲はrange(binedges[k], binedges[k+1])
あるこれらはあなたがしたい範囲の下限と上限を与えます。
In [46]: rngs = [list(range(binedges[k], binedges[k+1])) for k in range(len(binedges)-1)]
In [47]: rngs
Out[47]: [[0], [1, 2], [3, 4, 5, 6, 7, 8], [9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19]]
0
最初のもの:
import numpy as np
のは、あなたのデータg
を持っているとしましょう:
g = sorted((1e3 * np.random.random(1024)).astype(int))
とあなたのビンf
:
f = sorted((1e3 * np.random.random(32)).astype(int))
あなたが返すを、使用することができますf
のbinのインデックスeac g
の時間要素が属する:
dg = np.digitize(g,f)
得られたベクターは、あなたはそれがリストで保存したい場合がありますので、異なるサイズのリストが含まれているために起こっている:
for i in range(len(f)): v.append(np.argwhere(dg == i))
関連する問題
- 1. numpy配列(sub2ind)の線形インデックスを取得する方法
- 2. numpy配列をインデックスする方法は?
- 3. カスタム述語でnumpy配列をソート
- 4. ブール配列をnumpyでインデックス配列にする方法
- 5. ハナの述語を満たすタプル要素のインデックスのシーケンス
- 6. 文字列の配列の単語のインデックスを取得する方法
- 7. numpy配列からインデックス値を取得する
- 8. numpy配列関数の後にDataframeのインデックスを取得する
- 9. 4D配列をインデックスするNumPy配列
- 10. numpy 2d配列の列のランクを取得する方法は?
- 11. python/numpy:2D配列の列長を取得する方法は?
- 12. インデックス配列を使用してnumpy配列からサブ配列を得る方法をベクトル化するには
- 13. 並べ替えられたNumpy配列の元のインデックスを取得する
- 14. numpy配列を使ってインデックスをスライスする方法は?
- 15. numpy配列の行インデックスのみをシャッフルする方法は?
- 16. numpyでインデックスで配列を累積する方法は?
- 17. 特定のインデックスでnumpyの配列値をコピーする方法
- 18. 特定のインデックスのみを持つnumpy配列の取得
- 19. NumPy配列にNumPy配列を追加する方法
- 20. 1d numpy配列を2d numpy配列に変換する方法
- 21. JSON配列のオブジェクトのインデックスを取得する方法は?
- 22. 配列からオブジェクトのインデックスを取得する方法[JavaScript]?
- 23. 配列内の要素をインデックスで取得する方法は?
- 24. 配列要素の複数のインデックスを取得する方法
- 25. 2D配列の行インデックスを取得する方法は?
- 26. 2D配列の要素のインデックスを取得する方法は?
- 27. 配列の最後のインデックスを取得する方法ng-repeat
- 28. MouseListenerで配列のインデックスを取得する方法は?
- 29. 配列値インデックスを取得する方法
- 30. Cython numpy配列インデックス
ありがとう:ここ
では、各ビン内のインデックスの明示的なリストを作成することができます方法です。それはうまく動作します。 – LostInTheFrequencyDomain