4

numpyのwhereに関するドキュメントを読みましたが、単純な1D配列の条件をチェックしている場合に、配列をネストするタプルwhereが返される理由がわかりません。

> import numpy as np
> my_array = np.random.randint(1,10, (20))
> np.where(my_array > 5)

(array([ 0,  1,  4,  6,  7,  8, 10, 11, 13, 15, 16, 17, 18]),)

この場合、なぜnp.whereタプルを返すのですか?なぜ結果をネストするのですか?

4

1 に答える 1

6

一貫性のためだと思います.2D配列を考えてみましょう:

import numpy as np
my_array = np.random.randint(1,10, (4, 5))
pos = np.where(my_array > 5)
my_array[pos]

タプルをインデックスとして使用して、場所のすべての値を選択できます。

于 2013-03-15T22:36:54.877 に答える