如何在多个时间序列上运行python脚本?

如何在多个时间序列上运行python脚本?,python,dataframe,time-series,statsmodels,Python,Dataframe,Time Series,Statsmodels,我正在尝试使用运行以下脚本: 在我的数据帧上,我的数据帧当前包含多个时间序列(200+),我希望在每个时间序列上运行上述脚本。以下是数据帧的示例: Sn.No A-B B-C A-C 1 10 11.15 13.22 2 11 12.36 14.75 3 10.75 11.54 14.21 因此,我想在A-B、B-C和A-C上运行ADF测试脚本,并获取

我正在尝试使用运行以下脚本:

在我的数据帧上,我的数据帧当前包含多个时间序列(200+),我希望在每个时间序列上运行上述脚本。以下是数据帧的示例:

Sn.No   A-B      B-C         A-C
  1       10       11.15       13.22
  2       11       12.36       14.75
  3       10.75    11.54       14.21

因此,我想在A-B、B-C和A-C上运行ADF测试脚本,并获取它们各自的测试统计/输出。

要单独访问列,而不是整个数据帧,基本上:

df1['A-B']
将为您提供第一列。将他们归纳成一个列表:

columns = ['A-B', 'B-C', 'A-C']
如果您有200多列,您应该以不同的方式访问它们。假设你有200个。这样的事情应该是可能的:

columns = range(200)
在这种情况下,您不需要下面的
xrange
功能,但如下所示:

df1.iloc(column)
我之所以知道这一点,是因为我向上看了看,这显然是一个错误。假设您必须输入上述示例中的排列,则在 使用列表理解表达式进行列表

cadfs = [ts.adfuller(df1[column].spread) for column in columns]
相反,如果您是通过数字索引访问:

cadfs = [ts.adfuller(df1.iloc(column).spread) for column in columns]
要使代码更容易 可以使用本地常量

TEST = 0    
P = 1
PERCENTILES = 4

values = [cadfs[column][TEST] for column in xrange(columns)]
ps     = [cadfs[column][P] for column in xrange(columns)]
pct    = [cadfs[column][PERCENTILES] for column in xrange(columns)]

print 'Augmented Dickey Fuller Test'
print 'ADF Test Statistics - p - Percentiles 1%, 5% and 10%'
print values, ps, pct

要单独访问列而不是整个数据帧,基本上:

df1['A-B']
将为您提供第一列。将他们归纳成一个列表:

columns = ['A-B', 'B-C', 'A-C']
如果您有200多列,您应该以不同的方式访问它们。假设你有200个。这样的事情应该是可能的:

columns = range(200)
在这种情况下,您不需要下面的
xrange
功能,但如下所示:

df1.iloc(column)
我之所以知道这一点,是因为我向上看了看,这显然是一个错误。假设您必须输入上述示例中的排列,则在 使用列表理解表达式进行列表

cadfs = [ts.adfuller(df1[column].spread) for column in columns]
相反,如果您是通过数字索引访问:

cadfs = [ts.adfuller(df1.iloc(column).spread) for column in columns]
要使代码更容易 可以使用本地常量

TEST = 0    
P = 1
PERCENTILES = 4

values = [cadfs[column][TEST] for column in xrange(columns)]
ps     = [cadfs[column][P] for column in xrange(columns)]
pct    = [cadfs[column][PERCENTILES] for column in xrange(columns)]

print 'Augmented Dickey Fuller Test'
print 'ADF Test Statistics - p - Percentiles 1%, 5% and 10%'
print values, ps, pct

你在用什么统计图书馆?嘿,伙计。使用statsmodel图书馆,我也这么认为。试着在你的问题中加入任何库。让回答更容易些。我会的,谢谢。对stack和Python有点陌生。欢迎!:)别担心。我给你加的。你用的是什么统计库?嘿,伙计。使用statsmodel图书馆,我也这么认为。试着在你的问题中加入任何库。让回答更容易些。我会的,谢谢。对stack和Python有点陌生。欢迎!:)别担心。我为你添加了它。嗨,本体,使用上面的逻辑,我写了代码,但我遇到了一个错误,我附加了一个img的代码和错误,如果你能指导我将非常有帮助。我不知道为什么会发生这种情况,但似乎x没有定义,或者它的形状没有长度。嗨,本体,使用上述逻辑,我写了代码,但我遇到了一个错误,我附加了一个带有代码和错误的img,如果你能指导我,那将非常有帮助。我不知道为什么会发生这种情况,但似乎x没有定义,或者它的形状没有长度。