title: How to create a multi-level index within a for loop for which a list of names indexes each dataframe [Python]?
body: <p>I want to create a multi-level row index for which level 0 is the name of the list element in the list I have named environ (see code below e.g. regime1). The second level of this row index is the parameter name (e.g. alpha[1] ). The column index is the name of the type of model fit to the data (e.g. model_1). The end goal, is to create a loop, in which I can pass a list of names associated with a data series, the label of the series becomes the first level of a row multilevel index, the second level is the parameter name, the column index is the name of the model fit to the data series.</p>
  <p>Imports:</p>
  <pre><code>from arch import arch_model
  from collections import OrderedDict
  import numpy as np
  import pandas as pd
  import datetime as dt
  import arch.data.sp500
  </code></pre>
  <p>Below is how I want the output to look like, if I printed the results of the code loop.</p>
  <pre><code>                   model_1   model_2
  Regime 1 alpha[1]  0.102150  0.099596
           beta[1]   0.885206  0.899932
           mu        0.056353  0.066129
           nu             NaN  6.607229
           omega     0.017507  0.008664
                     model_1   model_2
  Regime_2 alpha[1]  0.102150  0.099596
           beta[1]   0.885206  0.899932
           mu        0.056353  0.066129
           nu             NaN  6.607229
           omega     0.017507  0.008664
  </code></pre>
  <p>The code below is my latest attempt to get the desired output above:</p>
  <pre><code>environ = ['regime1','regime2']
  data = arch.data.sp500.load()
  market = data['Adj Close']
  returns = 100 * market.pct_change().dropna()
  returns2 = 100 * market.pct_change().dropna()
  datasets = [returns,returns2]
  for i,j in zip(environ,datasets):
      model1 = arch_model(datasets[j]).fit(disp='off')
      model2 = arch_model(datasets[j], dist='t').fit(disp='off')
      comparison = pd.DataFrame( OrderedDict((('model_1',model1.params), ('model_2', model2.params))))
      print(comparison)
  </code></pre>
  <p>The current error I am receiving:</p>
  <pre><code>TypeError: list indices must be integers or slices, not Series
  </code></pre>
  <p>I don't believe fixing the error above will solve my problem. I want to return a multilevel dataframe, that looks similar to the desired output above.</p>