python中找出numpy array数组的最值及其索引
2018-02-13 16:24
387 查看
python中找出numpy array数组的最值及其索引
在list列表中,max(list)可以得到list的最大值,list.index(max(list))可以得到最大值对应的索引但在numpy中的array没有index方法,取而代之的是where,其又是list没有的
首先我们可以得到array在全局和每行每列的最大值(最小值同理)
>>> a = np.arange(9).reshape((3,3)) >>> a array([[0, 1, 2], [9, 4, 5], [6, 7, 8]]) >>> print(np.max(a)) #全局最大 8 >>> print(np.max(a,axis=0)) #每列最大 [6 7 8] >>> print(np.max(a,axis=1)) #每行最大 [2 5 8]
然后用where得到最大值的索引,返回值中,前面的array对应行数,后者对应列数
>>> print(np.where(a==np.max(a))) (array([2], dtype=int64), array([2], dtype=int64)) >>> print(np.where(a==np.max(a,axis=0))) (array([2, 2, 2], dtype=int64), array([0, 1, 2], dtype=int64))
如果array中有相同的最大值,where会将其位置全部给出
>>> a[1,0]=8 >>> a array([[0, 1, 2], [8, 4, 5], [6, 7, 8]]) >>> print(np.where(a==np.max(a))) (array([1, 2], dtype=int64), array([0, 2], dtype=int64))
Life is short, You need Python~
相关文章推荐
- python中找出numpy array数组的最值及其索引方法
- Python语言的创始人解释为什么Python数组的索引从0开始
- python 数组中如何根据值,获取索引,如何根据索引删除值 , 以及如何根据值删除值
- 从整数数组中找出唯二奇数次的数字 Python版
- 左神算法课-找出数组中出现次数超过一半的数及其进阶
- python numpy数组的索引和切片的操作方法
- 找出整型数组中最大和最小值及其所在位置
- 找出字符串数组中的等于某字符串的所有索引位置
- 5-8: 输入一个5行、6列的数组,找出该数组中绝对值最大的元素,输出该元素及其两个下标值
- [置顶] python中矩阵与数组索引后的区别
- Python语言的创始人解释为什么Python数组的索引从0开始
- 有一个整数数组,请编写一个函数,找出索引m和n,只要将m和n之间的元素排好序,整个数组就是有序的。注意:n-m应该越小越好,也就是说,找出符合条件的最短序列。 给定一个int数组A和数组的大小n,请
- c语言模拟perl python中的数组负数索引
- python知识索引-数组、矩阵、字典、函数
- 在数组A中找出一个魔术索引
- 数组排序并找出元素索引
- 找出数组中只出现一次的数字,其它数字都出现了两次,及其扩展
- python同时遍历数组的索引和元素
- Python语言的创始人解释为什么Python数组的索引从0开始
- 通过函数调用找出数组中的最大值及其所在的行和列.Cpp