numpy 学习:数组的查找
1,查找最大值或最小值所在的索引
按照特定的轴查找最大值或最小值的索引
numpy.argmax(a, axis=None, out=None, *, keepdims=<no value>)
numpy.argmin(a, axis=None, out=None, *, keepdims=<no value>)
举个例子,查找最小值的索引:
>>> a = np.arange(6).reshape(2,3) + 10
>>> a
array([[10, 11, 12],
[13, 14, 15]])
>>> np.argmin(a)
0
>>> np.argmin(a, axis=0)
array([0, 0, 0])
>>> np.argmin(a, axis=1)
array([0, 0])
2,查找非0元素的索引
numpy.argwhere(a)
举个例子,查找数组中大于0的元素的索引:
>>> x = np.arange(6).reshape(2,3)
>>> x
array([[0, 1, 2],
[3, 4, 5]])
>>> np.argwhere(x>1)
array([[0, 2],
[1, 0],
[1, 1],
[1, 2]])
3,查找操作
查找操作是指按照特定的条件对数组元素进行三值运算
where()函数对每一个元素执行三值运算:当满足condition 时,返回x;否则,返回y
numpy.where(condition[, x, y])
举个例子,对于一维数组,当元素值小于5时,返回原值;当元素值大于5时,乘以10返回:
>>> a = np.arange(10) >>> a array([0, 1, 2, 3, 4, 5, 6, 7, 8, 9]) >>> np.where(a < 5, a, 10*a) array([ 0, 1, 2, 3, 4, 50, 60, 70, 80, 90])
4,抽取元素
返回满足条件的数据元素,当参数condition为True,返回该位置的元素:
numpy.extract(condition, arr)
举个例子,extract()函数和掩码索引数组的功能相同:
>>> arr = np.arange(12).reshape((3, 4)) >>> arr array([[ 0, 1, 2, 3], [ 4, 5, 6, 7], [ 8, 9, 10, 11]]) >>> condition = np.mod(arr, 3)==0 >>> condition array([[ True, False, False, True], [False, False, True, False], [False, True, False, False]]) >>> np.extract(condition, arr) array([0, 3, 6, 9]) If condition is boolean: >>> >>> arr[condition] array([0, 3, 6, 9])
参考文档:
作者:悦光阴
本文版权归作者和博客园所有,欢迎转载,但未经作者同意,必须保留此段声明,且在文章页面醒目位置显示原文连接,否则保留追究法律责任的权利。
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】凌霞软件回馈社区,博客园 & 1Panel & Halo 联合会员上线
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 手把手教你在本地部署DeepSeek R1,搭建web-ui ,建议收藏!
· 新年开篇:在本地部署DeepSeek大模型实现联网增强的AI应用
· Janus Pro:DeepSeek 开源革新,多模态 AI 的未来
· 互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库
· 【非技术】说说2024年我都干了些啥
2019-01-05 pandas 离散化和切分
2017-01-05 In-Memory:内存优化表的事务处理