博客
关于我
Python3 求最大/小值及索引值 Numpy
阅读量:797 次
发布时间:2023-03-08

本文共 1526 字,大约阅读时间需要 5 分钟。

numpy函数解析:argmin、argmax、argwhere与argsort的应用

在Python编程中,numpy库提供了许多强大的函数来处理数组数据,argmin、argmax、argwhere和argsort是其中非常实用的工具。这些函数可以帮助我们快速找到数组中的最值及其位置,或者找到满足条件的元素位置。以下将从这些函数的功能和用法入手,帮助你更好地理解和应用它们。

np.argmin:求最小值及其索引

np.argmin()函数用于在数组中找到最小的元素,并返回其索引。默认情况下,它会返回整个数组中的最小值及其第一个出现的索引。例如:

c = np.array([[11, 2, 8, 4], [4, 52, 6, 17], [2, 8, 9, 100]])print(np.argmin(c))# 输出:1

当使用axis参数时,可以指定沿着哪个轴进行操作。例如,axis=0表示按列求最小值,axis=1表示按行求最小值:

print(np.argmin(c, axis=0))  # 按每列求出最小值的索引# 输出:[2 0 1 0]print(np.argmin(c, axis=1))  # 按每行# 输出:[1 0 0]

np.argmax:求最大值及其索引

np.argmax()函数与np.argmin()类似,但它用于找到数组中的最大值及其索引。同样,可以通过指定axis参数来控制操作方向:

print(np.argmax(c, axis=0))  # 按每列求出最大值的索引# 输出:[0 1 2 3]print(np.argmax(c, axis=1))  # 按每行# 输出:[3 3 3]

np.argwhere:找到满足条件的元素位置

np.argwhere()函数用于根据条件找到数组中满足条件的元素位置。例如,以下代码找到了大于1的元素位置:

x = np.arange(6).reshape(2,3)print(x)# 输出:[[0, 1, 2], [3, 4, 5]]print(np.argwhere(x > 1))# 输出:array([[0, 2],       [1, 0],       [1, 1],       [1, 2]])

np.argsort:排序并返回索引

np.argsort()函数用于对数组进行排序,并返回排序后的索引。默认情况下,它会返回数组元素值从小到大排序的索引。例如:

x = np.array([3, 1, 2])print(np.argsort(x))# 输出:[1, 2, 0]

对于二维数组,可以通过指定axis参数来控制排序方向:

x = np.array([[0, 3], [2, 2]])print(np.argsort(x, axis=0))# 输出:[[0, 1],#        [1, 0]]print(np.argsort(x, axis=1))# 输出:[[0, 1],#        [0, 1]]

根据键值排序

除了对元素本身进行排序,np.argsort()还支持根据自定义键值进行排序。例如,可以先定义一个包含键值的元组数组:

x = np.array([(1, 0), (0, 1)], dtype=[('x', np.int32), ('y', np.int32)])print(x)# 输出:# array([(1, 0), (0, 1)], dtype=[('x', '

通过这些函数,你可以轻松地在Python中对numpy数组进行高效的索引和排序操作。它们在数据分析、机器学习模型训练等场景中都有广泛应用。

转载地址:http://eulfk.baihongyu.com/

你可能感兴趣的文章
python基础篇(11):封装
查看>>
python基础篇(10):自定义包
查看>>
python基础篇(10):类、对象与构造方法
查看>>
python系列【仅供参考】:python斗地主
查看>>
Python基础教程(第2版 修订版) pdf
查看>>
python基础实践(四)
查看>>
Python基础学习笔记(九)常用数据类型转换函数
查看>>
Python基础学习参考(五):字符串和编码
查看>>
Python基础学习
查看>>
python基础变量之---集合
查看>>
python基础变量之---字典
查看>>
python基础变量之---列表
查看>>
python基础变量之---元组
查看>>
python基础内容_Python基础入门必须了解的
查看>>
Python基础之面向对象2(封装)
查看>>
Python基础之给函数增加元信息
查看>>
python基础之字符编码
查看>>
python基础之多线程与多进程(二)
查看>>
Python基础之基本数据类型一《数字与字符串》
查看>>
python基础之--迭代器和生成器及异常处理
查看>>