python 如何获得list或numpy数组中最大元素对应的索引

  • Post author:
  • Post category:python



目录


前言


一:list


1.1获得list中最大元素的索引


二 numpy数组中


2.1 可以使用numpy的函数,argmax获得最大元素的索引,相应的获得最小值的话需要使用argmin


2.2 也可以将numpy转为list,然后使用list或者最大值索引的方法获得最大值。


三:补:where 函数


3.1 np.max函数


3.2 np.where函数


3.3 实例:


总结





前言

例如:随着人工智能的不断发展,机器学习这门技术也越来越重要,很多人都开启了学习机器学习,本文就介绍了机器学习的基础内容。


一:list


1.1获得list中最大元素的索引

a = [1,2,3,4,5]

a.index(max(a))


相应的最小值使用

a = [1,2,3,4,5]

a.index(min(a))


二 numpy数组中


获得numpy数组中最大元素的索引


2.1 可以使用numpy的函数,

argmax获得最大元素的索引,相应的获得最小值的话需要使用argmin


arr = np.array([1,2,3,4,5])

maxindex = np.argmax(arr )

maxindex

2.2 也可以将numpy转为list,然后使用list或者最大值索引的方法获得最大值。

a = np.array([1,2,3,4,5])

b = a.tolist()

b.index(max(b))




三:补:where 函数

3.1 np.max函数

  • axis=0 代表列 , axis=1 代表行
  • 若要返回每一列元素的最大值,需要在 axis=1 方向进行比较,则指定 axis=1
  • 若要返回每一行的最大值,在 axis=0 方向进行比较,则指定 axis=0

3.2 np.where函数


numpy.where(condition[,x,y])

  • 当数组是一维数组时,返回的值是一维的索引,所以只有一组索引数组
  • 当数组是二维数组时,满足条件的数组值返回的是值的位置索引,因此会有两组索引数组来表示值的位置,返回的第一个array表示行坐标,第二个array表示纵坐标,两者一一对应

3.3 实例:

a = np.arange(9).reshape((3,3))

print(a)

print(type(array))

print(np.max(a))    #全局最大

print(np.max(a,axis=0)) #axis 按列查找  找每一列元素最大值 |3列所以结果为列表大小为3

print(np.max(a,axis=1)) #按行查找  找每一行元素最大值

print(np.where(a==np.max(a)))

print(np.where(a==np.max(a,axis=0)))


总结



版权声明:本文为qq_45288176原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。