6
假設我有一個DataFrame
,其中一列爲y
變量,許多列爲x
變量。我希望能夠運行y
vs x1
,y
vs x2
,...等的多個單變量回歸,並將預測存儲回DataFrame
。另外我需要通過組變量來做到這一點。Python熊貓:如何按組運行多個單變量回歸
import statsmodels.api as sm
import pandas as pd
df = pd.DataFrame({
'y': np.random.randn(20),
'x1': np.random.randn(20),
'x2': np.random.randn(20),
'grp': ['a', 'b'] * 10})
def ols_res(x, y):
return sm.OLS(y, x).fit().predict()
df.groupby('grp').apply(ols_res) # This does not work
上面的代碼顯然不起作用。我不清楚如何正確地將固定的y
傳遞給函數,而apply
迭代通過x
列(x1
,x2
,...)。我懷疑可能有一個非常聰明的單線解決方案來做到這一點。任何想法?
其實我相信這是運行一個多元迴歸,而不是循環遍歷列並運行多個單變量回歸。 – ezbentley
對不起,我應該更仔細地閱讀這個問題。請參閱我的編輯。 – JaminSore