我有两个变量:
期间和结果
我如何告诉Numpy求解器(我认为这是我必须使用的)来返回期间值,这会给我最高结果?期间必须介于1到100之间。
编辑:
现在期间在14,给我一个40的结果。 期间 12点。给我一个结果为42。
我可以告诉numpy尝试1到100之间的每个期间值,并且只得到效果最好的那个吗?
我想我真的不需要Numpy,我想知道它是不是一种可行的方式。
答案 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
或者,如果results
是numpy.array
,results[period]
是period
的结果,则只需
periodmax = results.argmax()