我是新的Python世界。我必須處理金融數據集。說我有一個數據幀是這樣的:python groupwise winsorization和線性迴歸
TradingDate StockCode Size ILLIQ
0 20050131 000001 13.980320 77.7522
1 20050131 000002 14.071253 19.1471
2 20050131 000004 10.805564 696.2428
3 20050131 000005 11.910485 621.3723
4 20050131 000006 11.631550 339.0952
*** ***
我想要做的就是做一個GroupWise OLS迴歸,其中分組varibales是TradingDate,因變量是「大小」,自變量是「 ILLIQ」。我想將剩餘的迴歸項追加回原始的數據框,比如說一個名爲「殘差」的新列。我該如何處理這件事?
看來下面的代碼不工作?
def regress(data,yvar,xvars):
Y = data[yvar]
X = data[xvars]
X['intercept']=1.
result = sm.OLS(Y,X).fit()
return result.resid()
by_Date = df.groupby('TradingDate')
by_Date.apply(regress,'ILLIQ',['Size'])
我想你的代碼,它提供了以下錯誤: ValueError異常:值的長度不符合指標 – Vincent
的長度我想我先把'TradingDate'移到索引上,讓我更新答案。 – Stefan
實際上,我在從SQL DB導入數據時將索引設置爲TradingDate列: df = pd.read_sql_query(query,con,index_col = ['TradingDate']) – Vincent