Как сохранить элементы из моей регрессии в новом фрейме данных? - PullRequest
0 голосов
/ 06 мая 2018

Моя проблема в том, что я пытаюсь регрессировать множество отдельных столбцов в один заданный столбец. Я создал цикл for, который успешно справляется с этим, однако мне нужен метод, который может записывать важные результаты регрессии до того, как данные будут перезаписаны следующей регрессией в цикле. Прямо сейчас у меня есть

    WTI_results=[]
    for i in range(13):
        OLSWTI= sm.OLS(df_opec.iloc[0:39,i],df_opec['WTI_price']).fit()
        d={[df_opec.columns[i]],[OLSWTI.params], [OLSWTI.rsquared],[OLSWTI.pvalues]}
    WTI_results=pd.DataFrame(data=d)
    WTI_results.columns= ['Country', 'Beta', 'R-Squared', 'P-Value']
    print(WTI_results)

Это возвращает TypeError: unhashable type: 'list' прямо сейчас, но я даже не уверен, является ли это подходящим способом для этого. Возможно, D просто перезаписывает себя, но я не уверен. Большое спасибо за любую помощь.

1 Ответ

0 голосов
/ 06 мая 2018

Следующее должно работать

WTI_results=[]
for i in range(13):
    OLSWTI= sm.OLS(df_opec.iloc[0:39,i],df_opec['WTI_price']).fit()
    WTI_results.append([df_opec.columns[i], OLSWTI.params , OLSWTI.rsquared, OLSWTI.pvalues ])
df= pd.DataFrame(data=d, columns = ['Country', 'Beta', 'R-Squared', 'P-Value'])
print(df)

Сохраните ваши результаты в списке, так что вы получите список списков. Это будут ваши строки. Затем, установив arg column =['Country', 'Beta', 'R-Squared', 'P-Value'], назовем ваши столбцы соответственно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...