np.argmin()和np.argmax()函数怎么在Python中使用(np.argmax,np.argmin,python,开发技术)

时间:2024-05-09 19:06:54 作者 : 石家庄SEO 分类 : 开发技术
  • TAG :

    np.argmin%28%29%E5%92%8Cnp.argmax%28%29%E5%87%BD%E6%95%B0%E6%80%8E%E4%B9%88%E5%9C%A8Python%E4%B8%AD%E4%BD%BF%E7%94%A8

按照axis的要求返回最小的数/最大的数的下标

a:传入一个数组,

axis:默认将输入数组展平,否则,按照axis方向

out:可选

当有多个最小值的时候只显示第一个

这里应该是拿min/max(更适合处理可迭代对象,可选的参数是key=func)与np.min/np.max(可适合处理numpy.ndarray对象,可选的参数是axis=0或者1)作比较,只不过np.argmin/np.argmax的用法与np.min/np.max相似,这里就不进行更正了。

首先min/max与np.argmin/np.argmax函数的功能不同

前者返回值,后者返回最值所在的索引(下标)

处理的对象不同

前者跟适合处理list等可迭代对象,而后者自然是numpy里的核心数据结构ndarray(多维数组)

min/max是python内置的函数

np.argmin/np.argmax是numpy库中的成员函数

接口不同

常见的接口如上所示,前者除了一个可迭代对象外,还接收一个函数对象(keyword argument),用于指定比较的对象(也即最值比较的内容是,将迭代对象中的元素逐个赋予func函数对象所得到返回值),可见func只可接受一个参数,如min(dict, key=dict.get)。

而np.argmax更多的是进行轴上的比较(axis=0,也是默认的轴,是列向)

我们也可将min/max作用于list of lists(这里不对tuple和list作区分):

例如根据列表中的每一个元素(tuple或者list类型)的第二位进行求最大值:

默认情况下,max首先进行比较的是items(k,v)中的第一个内容(也即是k),相等的情况下,再进行v的比较。

稍作修改,我们便可实现对v的比较:

有时可能最值所在的下标对我们更重要,我们据此下标索引更为丰富的信息。如何不显式转化为numpy.ndarray类型(有时也无法转换,当异质容器时)不通过np.argmax这样的函数获得最值(任何值都可以)所在的下标呢?使用list(tuple)的index()成员函数。

根据以上用法,我们也可推测并实现一个精简版的max函数:

本文:np.argmin()和np.argmax()函数怎么在Python中使用的详细内容,希望对您有所帮助,信息来源于网络。
上一篇:Python的数据类型有哪些下一篇:

4 人围观 / 0 条评论 ↓快速评论↓

(必须)

(必须,保密)

阿狸1 阿狸2 阿狸3 阿狸4 阿狸5 阿狸6 阿狸7 阿狸8 阿狸9 阿狸10 阿狸11 阿狸12 阿狸13 阿狸14 阿狸15 阿狸16 阿狸17 阿狸18