Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 使用两个单独的变量存储嵌套for循环中的值_Python_Python 3.x_Statsmodels - Fatal编程技术网

Python 使用两个单独的变量存储嵌套for循环中的值

Python 使用两个单独的变量存储嵌套for循环中的值,python,python-3.x,statsmodels,Python,Python 3.x,Statsmodels,我目前希望存储在嵌套for循环中创建的变量: for param in pdq: for param_seasonal in seasonal_pdq: mod = sm.tsa.statespace.SARIMAX(y, order=param, seasonal_order=param_seasonal, enforce_stationarity=False, enforce_invertibility=False) results = mod.fit

我目前希望存储在嵌套for循环中创建的变量:

for param in pdq:
    for param_seasonal in seasonal_pdq:
        mod = sm.tsa.statespace.SARIMAX(y, order=param, seasonal_order=param_seasonal, enforce_stationarity=False, enforce_invertibility=False)
        results = mod.fit()
在上面的例子中,我需要得到产生最佳结果的
param
param_
。我一直在尝试不同的数据结构,但没有找到任何有效的方法,更不用说是pythonic了


我想要的结果是从
mod
中获得最佳结果,并且能够使用相应的
param
param\u
作为不同函数中的参数。

如果我对您的问题的理解是正确的,那么下面的示例应该可以做到这一点

想象

  • a是param
  • b是季节性的吗
  • ans是mod
def示例函数(a,b):
返回(-a-b+(a**2)+(b**2))
最佳分数=0
最佳值a=0
最佳b=0
对于[1,2,3,4]中的a:
对于[5,6,7,8]中的b:
答案=示例_func(a,b)
如果答案>最佳分数:
最佳分数=答案
最好的
最佳b=b
打印(最佳成绩)
印刷品(最佳印刷品)
打印(最佳)
输出为

68
4
8
这意味着68是最好的值,用a=4和b=8计算

假设答案越高越好,但如果答案越低越好,则很容易修改


然后,您可以在for循环的外部和下方使用best_a和best_b将所需的变量传递给您想要的任何函数

当我进行参数调整时,我将结果存储在字典或数据帧中,但大部分是数据帧,因为您可以更灵活地进行进一步处理(ofc您以后也可以从字典中创建数据帧)

然后,通过如下方式查找最佳参数的索引,可以获得最佳结果/参数:

print(df_parameter_tuning.loc[df_parameter_tuning["results"].argmax()])
这样做的好处是,您还可以探索其他参数及其结果,比如打印它们以查看模式或其他要探索的数据点

print(df_parameter_tuning.loc[df_parameter_tuning["results"].argmax()])