python使用numpy寻找二维数组的最值及其下标方法分析

 更新时间:2023年08月08日 09:33:54   作者:Eureka  
这篇文章主要为大家介绍了python使用numpy寻找二维数组的最值及其下标实现方法详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪

一、通过np.max和np.where寻找【所有满足条件的解】

通过np.max()找矩阵的最大值,再通过np.where获得最大值的位置,代码如下:

import numpy as np
a = np.random.randint(1, 10, size=12)
a = a.reshape((3,4))
print(a)
print(np.max(a))
r, c = np.where(a == np.max(a))
print(r,c)

输出:

[[7 8 9 4]
 [9 3 9 3]
 [5 6 1 5]]

9

 [0 1 1] [2 0 2]

输出的是两个array,分别是x和y数组,即找出了和这个最值相等的所有位置。

二、通过np.argmax寻找【第一个满足条件的解】

把矩阵展成一维,np.argmax可以返回最大值在这个一维数组中第一次出现的位置,用这个位置除以矩阵的列数,所得的商就是最大值所在的行,所得的余数就是最大值所在的列。

import numpy as np
a = np.random.randint(1, 10, size=12)
a = a.reshape((3,4))
print(a)
print(np.max(a))
m = np.argmax(a)                # 把矩阵拉成一维,m是在一维数组中最大值的下标
r, c = divmod(m, a.shape[1])    # r和c分别为商和余数,即最大值在矩阵中的行和列
                                # m是被除数, a.shape[1]是除数
print(r, c)

输出:

[[5 5 9 7]
 [5 5 8 9]
 [2 3 9 3]]

9

0 2

可以看到只找到了第一个出现的最大值,后续的是搜索不到的。

以上就是python使用numpy寻找二维数组的最值及其下标的详细内容,更多关于python numpy最值下标的资料请关注脚本之家其它相关文章!

相关文章

  • python使用matplotlib绘制雷达图

    python使用matplotlib绘制雷达图

    这篇文章主要为大家详细介绍了python使用matplotlib绘制雷达图,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-10-10
  • python深入讲解魔术方法

    python深入讲解魔术方法

    所谓魔法函数(Magic Methods),是Python的⼀种⾼级语法,允许你在类中⾃定义函数(函数名格式⼀般为__xx__),并绑定到类的特殊⽅法中。⽐如在类A中⾃定义__str__()函数,则在调⽤str(A())时,会⾃动调⽤__str__()函数,并返回相应的结果
    2022-06-06
  • python实现五子棋算法

    python实现五子棋算法

    这篇文章主要为大家详细介绍了python实现五子棋算法,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-05-05
  • pyqt5 键盘监听按下enter 就登陆的实例

    pyqt5 键盘监听按下enter 就登陆的实例

    今天小编就为大家分享一篇pyqt5 键盘监听按下enter 就登陆的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-06-06
  • python神经网络facenet人脸检测及keras实现

    python神经网络facenet人脸检测及keras实现

    这篇文章主要为大家介绍了python神经网络facenet人脸检测及keras实现,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-05-05
  • python实现备份目录的方法

    python实现备份目录的方法

    这篇文章主要介绍了python实现备份目录的方法,实例总结了Python实现备份目录的三种常用技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-08-08
  • Python与C语言分别解决完全平方数问题

    Python与C语言分别解决完全平方数问题

    完全平方数指用一个整数乘以自己例如1*1.2*2.3*3等依次类推,若一个数能表示成某个整数的平方的形式,则称这个数为完全平方数。完全平方数是非负数,而一个完全平方数的项有俩个,让我们用程序来练习一下
    2022-03-03
  • 手把手教你用Python打造互动式中秋节庆祝小程序

    手把手教你用Python打造互动式中秋节庆祝小程序

    中秋节将至,本文提供了一个使用Python开发的中秋节庆祝小程序教程,通过简单的步骤,您可以创建一个具有节日祝福、互动式灯谜游戏和模拟中秋明月动态背景的小程序,文章详细介绍了程序的功能、实现步骤以及如何运行程序,需要的朋友可以参考下
    2024-09-09
  • Python3 使用map()批量的转换数据类型,如str转float的实现

    Python3 使用map()批量的转换数据类型,如str转float的实现

    今天小编就为大家分享一篇Python3 使用map()批量的转换数据类型,如str转float的实现,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-11-11
  • 如何在scrapy中集成selenium爬取网页的方法

    如何在scrapy中集成selenium爬取网页的方法

    这篇文章主要介绍了如何在scrapy中集成selenium爬取网页的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11

最新评论