[转载] numpy.argmin 使用

参考链接: Python中的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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值