目录

  • 一、基本介绍
  • 二、代码实验
  • 1、一维数组情况
  • 1.1、axis=0
  • 1.2、axis=1
  • 2、二维数组情况
  • 2.1、axis=0
  • 2.2、axis=1
  • 3、三维数组情况
  • 3.1、axis=0
  • 3.2、axis=1
  • 3.3、axis=2
  • 3.4、axis=-1
  • 四、Reference

一、基本介绍

numpy中的argmax简而言之就是返回最大值的索引,当使用np.argmax(axis),这里方向axis的指定往往让人不理解。
简而言之:这里axis可以让我们从、或者是深度方向来看一个高维数组。

二、代码实验

1、一维数组情况


简单一维情况,np.argmax()直接返回最大值的索引,不指定axis可以认为是将数组拉平之后寻找最大值的索引

1.1、axis=0

当我们指定axis=0时,其实是在中作比较,寻找最大的的索引

当然对于这个一维情况没有什么影响。

1.2、axis=1


当我们指定axis=1的时候报错了,这是因为我们的a是一维数组,没有axis=1这个轴,可见当我们使用np.argmax()时axis的指定不能超过所需要排序的数组

2、二维数组情况


不指定axis就是相当于把二维数组拉平,直接选取最大值的索引

2.1、axis=0


指定axis=0就是比较,返回索引中的最大值


我们改写一个b中的元素,我们期望的结果是[2,2,1,2]

实际结果和我们期望相符合

2.2、axis=1

指定axis=0就是比较,返回索引中的最大值

3、三维数组情况

一个三维数组可以视作一张图片,它的三个维度分别为(high, width, channels) 分别表示图像的高、宽、通道数(深度)。常见的彩色图像都有三个通道,我们以常见的RGB图像为例构建一个数组。

直接使用np.argmax(),就是之间将三维数组拉平,寻找最大值的索引

3.1、axis=0

单独查看c的三个通道的数据,如图所示

对于三个通道取axis=0意味分别比较列返回行的最大值索引

我们期望的返回值应该是[[1,1,1,],[1,1,1],[1,1,1]],实际的结果和我们的期望一致

3.2、axis=1


对于三个通道取axis=1意味分别比较行返回列的最大值索引
我们期望的结果是[[2, 2, 2],[2, 2, 2],[2, 2, 2],[2, 2, 2]],,实际的结果和我们的期望一致

3.3、axis=2

取axis=2意味着我们从图像的深度方向(通道方向)来进行比较,可以认为三个数组的叠在一起的,分别对应channel0,channel1,channel2而我们取最大值的索引就是返回对应pixel像素所在的通道索引

c的channel2所有的像素值均大于其他两个channel所有返回值应该是[[2,2,2,],[2,2,2,],[2,2,2,],[2,2,2,]],实际结果和我的期望一致

3.4、axis=-1

axis=-1即是反过来看轴,对于三维情况axis=-1axis=2一致

其他
对于二维情况axis=-1anxis=1一致
对于一维情况axis=0anxis=-1一致

四、Reference

https://blog.csdn.net/weixin_39190382/article/details/105854567
https://www.cnblogs.com/zhouyang209117/p/6512302.html

深入理解numpy的argmax相关推荐

  1. python numpy之argmax()方法理解

    1.numpy之argmax()作用 返回相应维度axis上的最大值的位置. 2.具体应用 深度学习图像分割多分类最后是softmax得分结果,我们需要将这个浮点型的结果保存成整型的标签图像,这样才算 ...

  2. NumPy之argmax()方法理解

    1.numpy之argmax()作用 返回相应维度axis上的最大值的位置. 2.具体应用 深度学习图像分割多分类最后是softmax得分结果,我们需要将这个浮点型的结果保存成整型的标签图像,这样才算 ...

  3. pythonargmaxaxis1_详解numpy的argmax的具体使用

    从最简单的例子出发 假定现在有一个数组a = [3, 1, 2, 4, 6, 1]现在要算数组a中最大数的索引是多少.这个问题对于刚学编程的同学就能解决.最直接的思路,先假定第0个数最大,然后拿这个和 ...

  4. 你确定会用Numpy的argmax()吗?

    Numpy的argmax(),是Python中一个经常被误解但很有用的函数.此文介绍了argmax()的内容.方法和原因. 扫码关注<Python学研大本营>,加入读者群,分享更多精彩 首 ...

  5. numpy之argmax()函数

    语法格式: numpy.argmax(a,axis) 作用:返回axis轴方向最大值的索引 a :为所需处理的矩阵 axis :为处理的轴向,axis=1为横轴方向,方向从左到右:axis=0为纵轴方 ...

  6. (Python)numpy的argmax用法

    (Python)numpy的argmax用法 解释 还是从一维数组出发.看下面的例子. import numpy as np a = np.array([3, 1, 2, 4, 6, 1]) prin ...

  7. python 如何理解 numpy 数组操作中的 axis 参数?

    以前在看numpy数组操作的有关axis的操作时, 常常理解不了, 比如像下面这种: [代码1] 求沿指定轴上的最大值(2维): import numpy as np a = np.array([[7 ...

  8. Python 数据分析三剑客之 NumPy(一):理解 NumPy / 数组基础

    CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...

  9. numpy中argmax、argmin的用法

    numpy中argmax.argmin的用法 1.argmax,argmin的作用 argmax: 返回每行或每列的最大值所在下标索引 argmin: 返回每行或每列的最下值所在下标索引 参数 axi ...

最新文章

  1. ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
  2. jquery引入标红叉
  3. 使用Google App Engine、Google Closure Library与Clojure编写HTML5应用
  4. Laravel 的数据库迁移
  5. Java-集合的简单介绍
  6. P8-07-23 在 GitLab 提交代码后自动触发 Jenkins 构建;使用禅道进行项目管理
  7. 内推!美团2021届应届生补招与2022届实习生招聘同步开启
  8. javascript基础修炼——手把手教你造一个简易的require.js
  9. 13个你必须知道的JS数组技巧
  10. idea 搜索不到gsonformat_idea之GsonFormat插件使用
  11. win10运行在哪里_原来win10还有LTSC版:10G大小+不强制更新,运行比win7更快!
  12. 如何通过 Redis 实现分布式锁
  13. xt5 连接android auto,2021年凯迪拉克XT6将添加无线Apple CarPlay和Android Auto
  14. java毕业设计社区食堂供餐源码+lw文档+mybatis+系统+mysql数据库+调试
  15. Html的页面演变史01
  16. cogs1570 KMP hash
  17. 三菱Plc怎么用c语言编程,如何用程序在三菱PLC上写出配方功能
  18. SpringBoot库存管理系统,拿来学习真香
  19. 初学者如何从零学习人工智能?看完你就懂了
  20. 计算机图像学基础课程设计,计算机图形学课程设计

热门文章

  1. [爬虫]python爬取B站日榜100名up主及其视频信息
  2. (2024最新)毕业设计题目源码-毕业论文参考
  3. OPENCV手势动作识别-石头剪刀布
  4. tensorflow72 《深度学习原理与TensorFlow实战》05 RNN能说会道 03 对话机器人(chatbot)
  5. JavaScript加密注意事项,怎么加密JS脚本最安全?
  6. HTML5导航下划线,CSS导航下划线实现
  7. Redis 升级到 6.x 版本,10个双11大促都不是问题了
  8. python观察者模式observe
  9. 开源商城系统怎么选择?
  10. 面试经常问的问题:线性电源VS开关电源