Ho un Multiindexed dataframe contenente le variabili esplicative df
e un dataframe contenente le variabili di risposta df_Y
compressione di un Multiindex dataframe per la regressione
# Create DataFrame for explanatory variables
np.arrays = [['foo', 'foo', 'foo', 'bar', 'bar', 'bar'],
[1, 2, 3, 1, 2, 3]]
df = pd.DataFrame(np.random.randn(6,2),
index=pd.MultiIndex.from_tuples(zip(*np.arrays)),
columns=['X1', 'X2'])
# Create DataFrame for response variables
df_Y = pd.DataFrame([1, 2, 3], columns=['Y'])
io sono in grado per eseguire la regressione sul solo DataFrame a livello singolo con indice foo
df_X = df.ix['foo'] # using only 'foo'
reg = linear_model.Ridge().fit(df_X, df_Y)
reg.coef_
Problema: Tuttavia, poiché le variabili Y
è lo stesso per entrambi i livelli foo
e bar
, in modo che possiamo avere il doppio dei campioni di regressione se includiamo anche bar
.
Qual è il modo migliore per rimodellare/compressione/unstack il dataframe multilivello in modo che possiamo fare uso di tutti i dati per la nostra regressione? Altri livelli possono avere le righe meno che df_Y
Ci scusiamo per la formulazione di confusione, non sono sicuro dei termini corretti/fraseggio