0
のための別の列を選択して、私は次の配列があるとします。各行
>>> a = np.arange(25).reshape((5, 5))
>>> a
array([[ 0, 1, 2, 3, 4],
[ 5, 6, 7, 8, 9],
[10, 11, 12, 13, 14],
[15, 16, 17, 18, 19],
[20, 21, 22, 23, 24]])
今、私は、次のインデックス配列に基づいて、行ごとに異なる列を選択します:
>>> i = np.array([0, 1, 2, 1, 0])
このインデックス配列各行の開始列を示し、選択範囲は類似した範囲でなければなりません。私は複数の列について
>>> a[np.arange(a.shape[0]), i]
が、どのように経由して、行ごとに単一の列を選択することができることを知って
>>> ???
array([[ 0, 1, 2],
[ 6, 7, 8],
[12, 13, 14],
[16, 17, 18],
[20, 21, 22]])
:3.したがって、私は、次のような結果を得ることがしたいですか?
はどのようにあなたのインデックス+ 3は、使用するアレイの幅よりも大きい場合に対処したいですか? – noslenkwah
@noslenkwah 'numpy.max(i + length)<= a.shape [1]'、 'length'は列選択範囲です(この例では3です) 。 –