3

次のコードによって生成された、ランダムな場所に s(n,5,2)を含む形状の配列を想定しましょう。NaN

n = 10
arr = np.random.rand(n, 5, 2)

# replace some values by nan
arr = arr.ravel()
index_array = np.arange(arr.size)
np.random.shuffle(index_array)
arr[index_array[:5]] = np.nan
arr = arr.reshape(n, 5, 2)

arr[i]s を含まない sのみが保持されるように、この配列を効率的にフィルタリングするにはどうすればよいNaNですか? 結果の形状は になり(m,5,2)ますm<=n

4

2 に答える 2

0

これは1つのライナーです:

new = arr[~np.isnan(arr).any((-1,-2))]

print new.shape
Out[10]: (5, 5, 2)
于 2013-11-08T13:47:19.687 に答える