Numpy求解器:最大值

时间:2010-12-10 05:01:53

标签: python numpy

我有两个变量:

期间结果

我如何告诉Numpy求解器(我认为这是我必须使用的)来返回期间值,这会给我最高结果?期间必须介于1到100之间。

编辑:

现在期间在14,给我一个40的结果期间 12点。给我一个结果为42。

我可以告诉numpy尝试1到100之间的每个期间值,并且只得到效果最好的那个吗?

我想我真的不需要Numpy,我想知道它是不是一种可行的方式。

3 个答案:

答案 0 :(得分:1)

只需声明一个等于第一个周期值的变量,然后自己做一个循环,在当前数字变大的时候改变初始变量:

biggest = period(0)
index = 0

for i in range (1, 100)
    if period(i) > biggest
         biggest = period(i)
         index = i

return biggest

答案 1 :(得分:0)

我不确定我理解这个问题,但如果我这样做,那么NumPy索引可能是最好的:

period = NP.arange(50)
result = NP.random.randint(1, 101, 50)

q = NP.argmax(result)   # gives index of largest value in the result array
result[q]               # returns the highest value in the result array
period[q]               # returns the value of period corresponding to 
                        # the highest value for result          

答案 2 :(得分:0)

目前尚不清楚您拥有哪些数据,但这应该有效:

for period in periods:
    result = func(period)
    if result > resultmax:
        resultmax = result

或者,如果resultsnumpy.arrayresults[period]period的结果,则只需

periodmax = results.argmax()