このチュートリアルの演習では、次のように述べています。
乱数の10x3配列を生成します(範囲内
[0,1]
)。各行について、に最も近い番号を選択し0.5
ます。
abs
およびを使用して、各行に最も近いargsort
列を検索しますj
。ファンシーインデックスを使用して数値を抽出します。(ヒント:
a[i,j]
–配列i
には、の内容に対応する行番号が含まれている必要がありますj
。)
だから私はすべてをやりましたが、私が使用したスライス方法(およびの初期化b
)はまったくpythonicではないと感じています:
a = np.random.rand(10,3)
mask = np.argmin(abs(a-0.5), axis = 1)
b = np.ones(mask.size)
for j in range(0,mask.size):
b[j] = a[j,mask[j]]
for
ループを使用せずにこれを行う他の方法は何ですか?