このチュートリアルの演習では、次のように述べています。
乱数の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ループを使用せずにこれを行う他の方法は何ですか?