ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

numpy.argmax函数的相关用法

2020-12-11 13:30:44  阅读:232  来源: 互联网

标签:索引 argmax 用法 np 数组 print numpy axis


numpy.argmax(a, axis=None, out=None)
返回沿轴axis最大值的索引。
注释:
a:array_like数组
axis:int类型,轴
out:(可选)如果提供,结果以合适的形状和类型被插入到此数组中`
下面我将用代码给大家详细介绍该函数的用法

import numpy as np
#一维数组用法
a = np.arange(10)
print(a)
print("*"*100)
print(np.argmax(a))#此时等价axis=0
print(np.argmax(a, axis=0))

[0 1 2 3 4 5 6 7 8 9]
****************************************************************************************************
9
9
import numpy as np
#二维数组用法
a = np.array([[1, 5, 5, 2],
              [4, 6, 2, 8],
              [3, 7, 9, 1]])
print(a)
print("*"*100)
print(np.argmax(a, axis=0)) #每一列的最大值的索引 返回一个数组
print(np.argmax(a))         #不加axis则是寻找全数组的最大值索引  返回一个int值 
print(np.argmax(a, axis=1)) #每一行的最大值的索引 返回一个数组

[[1 5 5 2]
 [4 6 2 8]
 [3 7 9 1]]
****************************************************************************************************
[1 2 2 1]
10
[1 3 2]
import numpy as np
#三维数组的用法
a = np.array([
    [
        [1, 5, 5, 2],
        [3, -6, 2, 8],
        [-3, 7, -9, 1]
    ],
    [
        [-1, 5, -5, 2],
        [9, 6, 2, 8],
        [3, 7, 3, 1]
    ]
])
print(a)
print(a.shape)           #这是个2*3*4的数组
print("*"*100)
print(np.argmax(a))      #返回整个数组的最大值,相当把这个数组变成一维数组,再去寻找其最大值索引
print(np.argmax(a, axis=0))  #大数组中两个小数组相对应的值进行比较 返回较大值的索引
print(np.argmax(a, axis=1))  #两个小数组中分别按列进行比较,返回较大值的索引
print(np.argmax(a, axis=2))  #两个小数组中分别按行进行比较,返回较大值的索引

[[[ 1  5  5  2]
  [ 3 -6  2  8]
  [-3  7 -9  1]]

 [[-1  5 -5  2]
  [ 9  6  2  8]
  [ 3  7  3  1]]]
(2, 3, 4)
****************************************************************************************************
16
[[0 0 0 0]
 [1 1 0 0]
 [1 0 1 0]]
[[1 2 0 1]
 [1 2 2 1]]
[[1 3 1]
 [1 0 1]]

该函数的用法我就给大家介绍到这里,谢谢大家

标签:索引,argmax,用法,np,数组,print,numpy,axis
来源: https://blog.csdn.net/weixin_44690866/article/details/111033192

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有