1
ここに何か不足していますか?私は、次のスニペットでnp.max
は、任意のポインタのための[0, 4]
...Numpy max軸に沿って
>>> a
array([[1, 2],
[0, 4]])
>>> np.max(a, axis=0)
array([1, 4])
感謝を返すだろうと予想されます。
ここに何か不足していますか?私は、次のスニペットでnp.max
は、任意のポインタのための[0, 4]
...Numpy max軸に沿って
>>> a
array([[1, 2],
[0, 4]])
>>> np.max(a, axis=0)
array([1, 4])
感謝を返すだろうと予想されます。
最大値を含む行を表示するように見えますか?
max(axis=0)
は、[1,0]と[2,4]の最大値を別々に返します。
argmax
axisパラメータを指定しないと、配列全体の最大値が平坦化された形で求められます。我々が使用する必要があり、行番号にそのインデックスを有効にするにはunravel_index
:
In [464]: a.argmax()
Out[464]: 3
In [465]: np.unravel_index(3,(2,2))
Out[465]: (1, 1)
In [466]: a[1,:]
Out[466]: array([0, 4])
または1つの式で:
In [467]: a[np.unravel_index(a.argmax(), a.shape)[0], :]
Out[467]: array([0, 4])
あなたは答えの長さから見ることができるように、それに沿って最大の通常の定義ではありません/軸上にある。
Sum along axis in numpy arrayは、「軸に沿った」という意味をより深く理解するかもしれません。同じ定義がsum
,mean
およびmax
操作に適用されます。最初のノルムを計算し、最大norm
と行を選択する
===================
。 norm
は、同じ方法でaxis
パラメータを使用します。
In [537]: np.linalg.norm(a,axis=1)
Out[537]: array([ 2.23606798, 4. ])
In [538]: np.argmax(_)
Out[538]: 1
In [539]: a[_,:]
Out[539]: array([0, 4])
ああ... max()は最大の行/列(要素の平方和の点で測定)を返していると思っていました。ありがとう。 – AIjunkie
'norm'を使って行をランク付けする例を追加しました。 – hpaulj