如何获得numpy数组的最大值?

时间:2019-04-08 14:28:56

标签: python numpy

我有一个数组数组,我需要为每一行获取amax

[[-1.53286755e-02  2.93346513e-02 -7.66370669e-02 -2.19948404e-02]
 [-1.25247389e-02  1.43674174e-02 -6.83528483e-02 -1.07235834e-02]
 [-1.51151344e-02  3.38465981e-02 -7.61222318e-02 -1.83092393e-02]
 [ 4.46393713e-03  1.87037606e-02 -6.09790049e-02 -1.94273535e-02]
 [-1.64875668e-02  2.76340060e-02 -6.66617230e-02 -1.33732818e-02]
 [-3.99522949e-04  1.20752566e-02 -6.02767840e-02 -1.47377616e-02]
 [-6.86090253e-03  2.22653989e-02 -6.96686357e-02 -3.29462299e-03]
 [ 3.94986942e-03  3.54665779e-02 -7.09369779e-02 -6.11725636e-03]
 [ 3.49313393e-03  2.98086051e-02 -7.18421638e-02 -5.45137282e-03]
 [ 1.18993018e-02  2.50301771e-02 -6.93574101e-02  2.55537452e-04]
 [ 8.19707289e-04  6.50310218e-02 -1.46873474e-01  7.08404928e-03]
...

我的数组看起来像这样,我想对其进行np.amax以获得每行的最大值。

我尝试了best_q = np.amax(amax[0]),但这只是返回了整个数组中的最大值。

我想通过某种方式进行矢量化处理以节省处理时间。

2 个答案:

答案 0 :(得分:3)

请检查您是否需要传递正确的索引进行汇总,这里是axis=1

np.max(a,axis = 1) # np.amax(a,axis=1)

Out[199]: 
array([0.09640129, 0.09834351, 0.09433366, 0.9100043 , 0.9104525 ,
       0.90350811])

答案 1 :(得分:1)

您需要将“轴”参数添加到amax以获得轴上的最大值

np.amax(a,轴= 1)或np.amax(a,轴= 0)

检查:https://docs.scipy.org/doc/numpy/reference/generated/numpy.amax.html