深入理解numpy的argmax
目录
- 一、基本介绍
- 二、代码实验
- 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=-1
和axis=2
一致
其他:
对于二维情况axis=-1
和anxis=1
一致
对于一维情况axis=0
和anxis=-1
一致
四、Reference
https://blog.csdn.net/weixin_39190382/article/details/105854567
https://www.cnblogs.com/zhouyang209117/p/6512302.html
深入理解numpy的argmax相关推荐
- python numpy之argmax()方法理解
1.numpy之argmax()作用 返回相应维度axis上的最大值的位置. 2.具体应用 深度学习图像分割多分类最后是softmax得分结果,我们需要将这个浮点型的结果保存成整型的标签图像,这样才算 ...
- NumPy之argmax()方法理解
1.numpy之argmax()作用 返回相应维度axis上的最大值的位置. 2.具体应用 深度学习图像分割多分类最后是softmax得分结果,我们需要将这个浮点型的结果保存成整型的标签图像,这样才算 ...
- pythonargmaxaxis1_详解numpy的argmax的具体使用
从最简单的例子出发 假定现在有一个数组a = [3, 1, 2, 4, 6, 1]现在要算数组a中最大数的索引是多少.这个问题对于刚学编程的同学就能解决.最直接的思路,先假定第0个数最大,然后拿这个和 ...
- 你确定会用Numpy的argmax()吗?
Numpy的argmax(),是Python中一个经常被误解但很有用的函数.此文介绍了argmax()的内容.方法和原因. 扫码关注<Python学研大本营>,加入读者群,分享更多精彩 首 ...
- numpy之argmax()函数
语法格式: numpy.argmax(a,axis) 作用:返回axis轴方向最大值的索引 a :为所需处理的矩阵 axis :为处理的轴向,axis=1为横轴方向,方向从左到右:axis=0为纵轴方 ...
- (Python)numpy的argmax用法
(Python)numpy的argmax用法 解释 还是从一维数组出发.看下面的例子. import numpy as np a = np.array([3, 1, 2, 4, 6, 1]) prin ...
- python 如何理解 numpy 数组操作中的 axis 参数?
以前在看numpy数组操作的有关axis的操作时, 常常理解不了, 比如像下面这种: [代码1] 求沿指定轴上的最大值(2维): import numpy as np a = np.array([[7 ...
- Python 数据分析三剑客之 NumPy(一):理解 NumPy / 数组基础
CSDN 课程推荐:<Python 数据分析与挖掘>,讲师刘顺祥,浙江工商大学统计学硕士,数据分析师,曾担任唯品会大数据部担任数据分析师一职,负责支付环节的数据分析业务.曾与联想.亨氏.网 ...
- numpy中argmax、argmin的用法
numpy中argmax.argmin的用法 1.argmax,argmin的作用 argmax: 返回每行或每列的最大值所在下标索引 argmin: 返回每行或每列的最下值所在下标索引 参数 axi ...
最新文章
- ASP.NET MVC如何实现自定义验证(服务端验证+客户端验证)
- jquery引入标红叉
- 使用Google App Engine、Google Closure Library与Clojure编写HTML5应用
- Laravel 的数据库迁移
- Java-集合的简单介绍
- P8-07-23 在 GitLab 提交代码后自动触发 Jenkins 构建;使用禅道进行项目管理
- 内推!美团2021届应届生补招与2022届实习生招聘同步开启
- javascript基础修炼——手把手教你造一个简易的require.js
- 13个你必须知道的JS数组技巧
- idea 搜索不到gsonformat_idea之GsonFormat插件使用
- win10运行在哪里_原来win10还有LTSC版:10G大小+不强制更新,运行比win7更快!
- 如何通过 Redis 实现分布式锁
- xt5 连接android auto,2021年凯迪拉克XT6将添加无线Apple CarPlay和Android Auto
- java毕业设计社区食堂供餐源码+lw文档+mybatis+系统+mysql数据库+调试
- Html的页面演变史01
- cogs1570 KMP hash
- 三菱Plc怎么用c语言编程,如何用程序在三菱PLC上写出配方功能
- SpringBoot库存管理系统,拿来学习真香
- 初学者如何从零学习人工智能?看完你就懂了
- 计算机图像学基础课程设计,计算机图形学课程设计
热门文章
- [爬虫]python爬取B站日榜100名up主及其视频信息
- (2024最新)毕业设计题目源码-毕业论文参考
- OPENCV手势动作识别-石头剪刀布
- tensorflow72 《深度学习原理与TensorFlow实战》05 RNN能说会道 03 对话机器人(chatbot)
- JavaScript加密注意事项,怎么加密JS脚本最安全?
- HTML5导航下划线,CSS导航下划线实现
- Redis 升级到 6.x 版本,10个双11大促都不是问题了
- python观察者模式observe
- 开源商城系统怎么选择?
- 面试经常问的问题:线性电源VS开关电源