Numpy 沿轴的最大数值

Numpy 沿轴的最大数值,numpy,Numpy,我是不是遗漏了什么?我希望下面代码段中的np.max将返回[0,4] >>> a array([[1, 2], [0, 4]]) >>> np.max(a, axis=0) array([1, 4]) 谢谢您的指点。看起来您想要包含最大值的行,对吗 max(axis=0)分别返回[1,0]和[2,4]的最大值 argmax不带轴参数的情况下,查找整个数组的最大值-以展平形式。要将该索引转换为行号,我们必须使用unravel\

我是不是遗漏了什么?我希望下面代码段中的
np.max
将返回
[0,4]

>>> a
   array([[1, 2],
          [0, 4]])

>>> np.max(a, axis=0)
   array([1, 4])

谢谢您的指点。

看起来您想要包含最大值的行,对吗

max(axis=0)
分别返回[1,0]和[2,4]的最大值

argmax
不带轴参数的情况下,查找整个数组的最大值-以展平形式。要将该索引转换为行号,我们必须使用
unravel\u 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])
或者用一种表达方式:

In [467]: a[np.unravel_index(a.argmax(), a.shape)[0], :]
Out[467]: array([0, 4])
从答案的长度可以看出,这不是沿/超过轴的最大值的通常定义

可以更深入地理解“沿轴”的含义。相同的定义适用于
sum
mean
max
运算

===================

要拾取范数最大的行,请首先计算范数
norm
以相同的方式使用
参数

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()返回最大的行/列(以元素的平方和来衡量)。谢谢。我添加了一个使用
norm
对行进行排序的示例。