2
特定の軸に対して、numpyを使用して一致するブール値マスクに基づいて、グローバル2D配列からnp.arraysのリスト(またはnp.array)を生成することに興味があります。 np.ma.mask()または同様のを使用することができれば、私はマスクに基づくグローバル配列のサブセットのナンシー生成
例は、おそらく優れている...と思いまして:
number= 10
x = np.linspace(0,number,num=number+1,dtype=int)
B = np.vstack((x%3==0, x%2==0, x%1==0))
X = np.vstack((x//3, x//2, x-1))
list_ = []
for i in range(1,number+1):
pointer = X[:,i][B[:,i]]
list_.append(pointer)
print(list_)
[array([0]), array([1, 1]), array([1, 2]), array([2, 3]), array([4]), array([2, 3, 5]), array([6]), array([4, 7]), array([3, 8]), array([5, 9])]
forループ、私は基本的に軸上の値を抽出していて= 1、2次元配列Xの場合、ブール値マスクBに基づいています。これは軸= 0を反復し、X [:、i] [B [:、i]]を選択することで実現します。範囲が非常に大きくなり、npy.ma.array(X、mask = B)のwhereステートメントを使用してnumpyで完全に行うことができるので、ループなしでこれを行うことが可能かどうか疑問に思っていますか?
乾杯!ここで