Giả sử tôi có một DataFrame
với một cột là y
biến và nhiều cột của các biến số x
. Tôi muốn có thể chạy nhiều lần hồi quy đơn biến của y
so với x1
, y
và x2
, ..., v.v. và lưu trữ dự đoán trở lại vào DataFrame
. Ngoài ra tôi cần phải làm điều này bởi một biến nhóm.pandas Python: cách chạy nhiều hồi quy đơn biến theo nhóm
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
Đoạn mã trên rõ ràng không hoạt động. Nó không phải là rõ ràng với tôi làm thế nào để chính xác vượt qua cố định y
với chức năng trong khi có apply
lặp qua các cột x
(x1
, x2
, ...). Tôi nghi ngờ có thể có một giải pháp một dòng rất thông minh để làm điều này. Bất kỳ ý tưởng?
Thực ra tôi tin rằng điều này chạy một hồi quy đa biến thay vì lặp qua các cột và chạy nhiều hồi quy đơn biến. – ezbentley
Xin lỗi về điều đó, tôi nên đọc câu hỏi kỹ hơn. Vui lòng xem chỉnh sửa của tôi. – JaminSore