2
特定の軸に沿ってインデックスを取得します。たとえば、次のような2Dおよび軸= -1の場合:numpy ND配列:ある軸に沿ってindex'ed要素を取る(ND選択)
>>> axis = -1
>>> a = rand(5, 3) - 0.5; a
array([[ 0.49970414, -0.14251437, 0.2881351 ],
[ 0.3280437 , 0.33766112, 0.4263927 ],
[ 0.37377502, 0.05392274, -0.4647834 ],
[-0.09461463, -0.25347861, -0.29381079],
[-0.09642799, 0.15729681, 0.06048399]])
>>> axisinds = a.__abs__().argmax(axis); axisinds
array([0, 2, 2, 2, 1])
インデックス付き要素をその軸に沿って1次元だけ減らすにはどうすればよいですか?
>>> a[arange(len(axisinds)), axisinds]
array([ 0.49970414, 0.4263927 , -0.4647834 , -0.29381079, 0.15729681])
しかし、これは非常に特別なに限定される:2Dおよび軸の
= -1は(各行の絶対max'esを例アレイを得るために)このように行うことができます1または0の結果ディメンション。 どのようにすればndim
とaxis
?