
numpy.argmin()||argmax()结构及用法||详解axis
发布日期:2021-05-07 14:30:42
浏览次数:23
分类:精选文章
本文共 1298 字,大约阅读时间需要 4 分钟。
NumPy argmin 和 argmax 功能详解
argmin 函数概述
NumPy 的 argmin
函数用于沿着指定的轴找到数组中的最小值,并返回这些最小值对应的索引。该函数对于数组的处理方式类似于 min
函数,但它返回的是索引而不是值本身。
函数参数说明
- a:输入数组,支持任意形状的数组。
- axis:指定沿着哪个轴进行操作,默认为 0,即沿着数组的第一个轴(行方向)。
- out:可选输出数组,如果指定了一个数组
b
,则结果会存储在b
中。
返回值
- 返回值:一个整数数组,形状与输入数组
a
去掉指定轴后的结果相同。每个元素对应于一个最小值所在的位置。
示例说明
展平、axis=0、axis=1 的三种情况
展平(axis=0)
当axis=0
时,函数会将数组展平,返回一个一维数组,其中每个元素对应原数组中行中最小值的位置。axis=0
假设输入数组a
的形状为 (2, 3, 2)
,沿着 axis=0
的处理结果为:[[1, 2, 3], [4, 5, 6]]
最小值的位置为 [0, 0]
和 [1, 0]
,因此返回的索引数组为 (0, 0)
和 (1, 0)
,最终结果为:
[[0, 1, 2], [1, 2, 3]]
axis=1
当axis=1
时,函数会沿着列进行处理。假设输入数组 a
的形状为 (2, 3, 2)
,沿着 axis=1
的结果为:[[1, 2, 3], [4, 5, 6]]
最小值的位置为 [0, 0]
和 [1, 0]
,因此返回的索引数组为 (0, 0, 0)
和 (1, 0, 0)
,最终结果为:
[[0, 1, 2], [1, 2, 3]]
axis=2
当axis=2
时,函数会沿着第三个轴进行处理。假设输入数组 a
的形状为 (2, 3, 2)
,沿着 axis=2
的结果为:[[1, 2, 3], [4, 5, 6]]
最小值的位置为 [0, 0]
和 [1, 0]
,因此返回的索引数组为 (0, 0, 0)
和 (1, 0, 0)
,最终结果为:
[[0, 1, 2], [1, 2, 3]]
多个最小值的情况
如果在某个轴上有多个最小值,argmin
函数会仅返回第一个最小值的索引位置。例如,假设输入数组 a
的形状为 (2, 3, 2)
,其中某个位置的值为 0,沿着 axis=0
的结果为:
[[0, 2, 3], [0, 5, 6]]
此时,argmin(a, axis=0)
会返回 [0, 0]
和 [1, 0]
,即:
[[0, 1, 2], [0, 2, 3]]
argmax 函数简述
argmax
函数的工作原理与 argmin
类似,但它是用来找到数组中沿着指定轴的最大值的位置。使用方式与 argmin
相同,只是返回最大值的索引。
示例总结
通过上述示例可以看出,argmin
和 argmax
函数的核心作用是沿着指定轴找到最小值或最大值的位置,并返回这些位置的索引数组。选择不同的 axis
值会影响函数的处理方向和结果的结构。理解这些函数的用法对于数据分析和科学计算是非常有帮助的。
发表评论
最新留言
关注你微信了!
[***.104.42.241]2025年05月08日 07时45分15秒
关于作者

喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
Linux 定时执行任务
2023-02-01
Linux 对象存储、文件存储、块存储有什么区别?
2023-02-01
linux 将文件内容赋值给shell脚本中的变量
2023-02-01
Linux 小小的cd命令,用的好可不简单哦!
2023-02-01
Linux 常用压缩命令全解,一次搞懂通关!
2023-02-01
Linux 常用命令
2023-02-01
linux 常用命令
2023-02-01
linux 常用命令
2023-02-01
Linux 常用命令
2023-02-01
Linux 常用命令之cat、tac、nl
2023-02-01
Linux 常用命令使用方法大搜刮
2023-02-01
Linux 常用命令大全
2023-02-01
Linux 常用网络命令
2023-02-01
linux 常用软件安装-目录
2023-02-01
Linux 常见必备
2023-02-01
linux 常见问题大全
2023-02-01
Linux 常规问题解决:File “/usr/bin/yum“, line 30 及 File “/usr/libexec/urlgrabber-ext-down“, line 28
2023-02-01
Linux 开发工具
2023-02-01
Linux 开放服务端口
2023-02-01
Linux 强大的网络命令:nc,网络的瑞士军刀!
2023-02-01