zoukankan      html  css  js  c++  java
  • numpy.argmin 使用

    https://docs.scipy.org/doc/numpy-1.10.1/reference/generated/numpy.argmin.html

    numpy.argmin(a, axis=None, out=None)[source]

    给出axis方向最小值的下表

    Parameters:

    a : Input array.

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

    out : 可选

    Returns:

    index_array : 下标组成的数组。shape与输入数组a去掉axis的维度相同。

    举例:

    1、展平、axis=0、axis=1

    >>> a = np.arange(6).reshape(2,3)
    >>> a
    array([[0, 1, 2],
           [3, 4, 5]])
    >>> np.argmin(a)
    0
    >>> np.argmin(a, axis=0)
    array([0, 0, 0])
    >>> np.argmin(a, axis=1)
    array([0, 0])
    

      

    2、多个最小值,只显示第一个

    >>> b = np.arange(6)
    >>> b[4] = 0
    >>> b
    array([0, 1, 2, 3, 0, 5])
    >>> np.argmin(b) # Only the first occurrence is returned.
    0
    

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

    若寻找一个列表的最大(小)值及其对应的索引:

    list = [9, 12, 88, 14, 25]
    max_index =  max(list) # 最大值的索引
    max_value = list.index(max(list)) # 返回最大值
    # 最小的话 max换成min
    

      

    若是numpy中arrary的类型:

    a= np.array([9, 12, 88, 14, 25])
    list_a = a.tolist()
     
    list_a_max_list = max(list_a) #返回最大值
    max_index = list_a.index(max(list_a)) # 返回最大值的索引 
    

      

    • min/max是python内置的函数

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

    (可适合处理numpy.ndarray对象,可选的参数是axis=0或者1)

    # 按每列求出最小值的索引 axis=0
    # 按每行求出最小值的索引 axis=1
    import numpy as np
     
    a = np.array([1, 2, 3, 4])
    b = np.array((5, 6, 7, 8))
    c = np.array([[11, 2, 8, 4], [4, 52, 6, 17], [2, 8, 9, 100]])
     
    print(a)
    print(b)
    print(c)
     
    print(np.argmin(c))
    print(np.argmin(c, axis=0)) # 按每列求出最小值的索引
    print(np.argmin(c, axis=1)) # 按每行求出最小值的索引
    # 最小的话 min换成max
    

      

  • 相关阅读:
    2019 年百度之星—初赛一 B题 Game
    蒲公英
    集训队8月17日
    CodeForces 550E Brackets in Implications 推理
    11076: 小P的集合 位运算
    树状数组区间修改版本模板
    Contest1692
    POJ
    树状数组进阶-区间修改+区间查询
    具体数学-第二章-和式
  • 原文地址:https://www.cnblogs.com/Allen-rg/p/9606824.html
Copyright © 2011-2022 走看看