Python 创建循环以稳定上升数据

Python 创建循环以稳定上升数据,python,Python,我的问题是: 目前,我的代码运行dickey fuller测试,如果p值大于0.05,则对数据进行差异化处理,但我需要它再次重新运行dickey fuller测试,如果p值仍然大于0.05,则再次对数据进行差异化处理,并继续执行此操作,直到满足p值小于0.05的条件 我有一个时间序列数据的数据帧。为了确定它是否静止,我使用以下代码执行了dickey fuller测试: print("Results of Dickey Fuller Test") dftest=adfuller(df['I'],a

我的问题是: 目前,我的代码运行dickey fuller测试,如果p值大于0.05,则对数据进行差异化处理,但我需要它再次重新运行dickey fuller测试,如果p值仍然大于0.05,则再次对数据进行差异化处理,并继续执行此操作,直到满足p值小于0.05的条件

我有一个时间序列数据的数据帧。为了确定它是否静止,我使用以下代码执行了dickey fuller测试:

print("Results of Dickey Fuller Test")
dftest=adfuller(df['I'],autolag='AIC' )
dfoutput=pd.Series(dftest[0:4], index=['Test statistic', 'p-value', '# Lags    Used', 'Number of Observations Used'])
for key, value in dftest[4].items():
dfoutput['Critical Value (%s)' %key ]=value
在Dickey-Fuller测试中,如果p值大于0.05,这意味着数据不是平稳的,可以对数据进行差分以使其平稳。
我想创建一个循环,这样就可以运行dickey fuller测试,如果p值大于0.05,则对数据进行差分,直到p值小于0.05为止

这是我到目前为止写的:

if dfoutput['p-value']>0.05:
   df.diff()

您可能希望检查while循环,并在一般情况下执行while循环,而不仅仅是python。您希望循环永远持续,直到差异导致测试<0.05

dftest=adfuller(df['I'], autolag='AIC')
while True:
    dfoutput=pd.Series(dftest[0:4], index=['Test statistic', 'p-value', '# Lags    Used', 'Number of Observations Used'])
    if dfoutput['p-value'] > 0.05:
        df.diff()
    else:
        break
如果正好是0.05呢


进一步阅读。

它有什么问题?你在问什么?我想创建一个循环,以便运行dickey fuller测试,如果p值大于0.05,则对数据进行差分,并持续到p值小于0.05。当前,如果p值大于0.05,我的代码会对数据进行差分,但是我需要它重新运行dickey fuller测试,如果p值仍然大于0.05,则再次对数据进行差分,并继续这样做,直到满足p值小于0.05的条件。您知道while语句吗?