PythonPandasTables

2024-09-28 01:33:43 发布

您现在位置:Python中文网/ 问答频道 /正文

第一:感谢您迄今为止的大力帮助!我有一个关于在iPython中处理表格格式的问题。在

我当前运行此脚本以打印增强Dickey-Fuller(ADF)测试的平稳性:

print "Stationarity"
print sm.tsa.stattools.adfuller(df['temperature'], maxlag=None, autolag='BIC', regression='c')

输出如下:

^{pr2}$

*(不确定这个值是什么Link to Documentation

现在,我的问题是:

  1. 如何自动计算多个变量?是否可以创建一个包含不同列(df['variable1',df['variable1',df['variable1',df['variable1',df['variable1',…)的列表吗?

  2. 如何将返回的数据放入表结构中?像这样:

ADF测试

Variable      nobs  t-test  p-value                     1%       5%      10%
temperature     41  6.4532  1.5054094590984612e-08  -3.600  -2.9351  -2.6059
variable 2     ...
variable 3     ...

(顺便问一下:如何将“1.5054094590984612e-08”转换为准确的数字?)在

感谢您的支持!在


Tags: 脚本df格式ipythonvariable表格smprint
1条回答
网友
1楼 · 发布于 2024-09-28 01:33:43

所以我基本上建立了一些虚拟数据,基本上我为每个列建立一个dict来存储adf测试结果,然后为每个结果构建一个df:

In [12]:

df = pd.DataFrame(index = pd.date_range(start=dt.datetime(2014,1,1), end = dt.datetime(2014,6,1)))
import statsmodels.tsa.stattools as ts
df['a'] = np.random.randint(0,30,len(df.index))
df['b'] = np.random.randint(0,30,len(df.index))
​
result={}
for col in df:
    result[col] = ts.adfuller(df[col], maxlag=None, autolag='BIC', regression='c')
result
Out[12]:
{'a': (-14.5378299332063,
  5.2041541962613174e-27,
  0,
  151,
  {'1%': -3.4744158894942156,
   '10%': -2.5770812758212358,
   '5%': -2.8808783827710589},
  983.29106640612281),
 'b': (-12.247140023284922,
  9.7254933298555022e-23,
  0,
  151,
  {'1%': -3.4744158894942156,
   '10%': -2.5770812758212358,
   '5%': -2.8808783827710589},
  983.89321857804237)}
In [29]:

df_result = pd.DataFrame()
​
for k,v in result.items():
    df_result = df_result.append(pd.DataFrame(
            data={'nobs':v[3], 't-test':v[0], 'p-value':v[1], '1%':v[4]['1%'], '5%':v[4]['5%'], '10%':v[4]['10%']},
            index=[k]))
df_result.index.name = 'temperature'
df_result
Out[29]:
                   1%       10%        5%  nobs       p-value    t-test
temperature                                                            
a           -3.474416 -2.577081 -2.880878   151  5.204154e-27 -14.53783
b           -3.474416 -2.577081 -2.880878   151  9.725493e-23 -12.24714

相关问题 更多 >

    热门问题