我想从每个数组中找到最大值的索引。例如:[1,2,3,4],[5,10,2,3],并且期望输出是3,1。
电流输入:
import numpy as np
def display_max(input_array):
b = np.max(input_array)
c = np.where(input_array==b)
return c
display_max([[[7,15,3,10],[2,6,9,0],[20,45,71,500]]])
电流输出:
(array([0], dtype=int64), array([2], dtype=int64), array([3], dtype=int64))
我很困惑为什么第一个数组没有显示任何值,因为输出必须是1。否则我想要一个简单的输出像上面的例子。
好心帮忙。谢谢
3条答案
按热度按时间v6ylcynt1#
下面的代码将在三维数组中找到最大的数字,而不是每行中的最大数字:
由于最大的数字是500,在三维数组中,它的索引是[0,2,3],这就是为什么它返回0作为第一个维度
brqmpdu12#
我有两个解决方案给你。数字1:你的输入是一个numpy数组
第二:你的输入是(和原来的问题一样)一个列表的列表。没有numpy你也能解决
请注意,您的输入列表列表有一个多余的括号...
sgtfey8w3#
尝试将列表转换为一个numpy数组,如果您想坚持使用一个函数来完成这项工作,可以使用类似的方法