[英]Unpacking a python list into a dataframe
我對 python 還很陌生,我遇到了 function 返回的數據類型的問題。 我有兩個功能准備和 model
def Prepare(Inputdf):
x0 = list(range(e ,s+1 ,-1))
X = Inputdf[x0]
Y = Inputdf['y0']
return [X,Y]
# Linear Model
def Model(Inputdf, X, Y):
#Train
X = sm.add_constant(X)
lmodel = sm.OLS(Y, X).fit()
summ = lmodel.summary()
#Test
x1 = list(range(e-1 ,s ,-1))
A = Inputdf[x1]
A = sm.add_constant(A)
newcol = lmodel.predict(A)
newdf = pd.concat([Inputdf, newcol], axis=1)
return [newdf]
它們在下面的循環中被調用。 function 返回一個列表,但我不確定如何將 output 轉換為 dataframe
forecast = []
for i in wh:
TrainFinal = TrainInput[TrainInput['column'].isin([i])]
TestFinal = TestInput[TestInput['column'].isin([i])]
Modelresult = Model(TestFinal, *Prepare(TrainFinal))
forecast.append(Modelresult)
print (forecast)
output 看起來像這樣
[[ country y1 0
6990 United Arab Emirates 42.0 24.314137
... ... ... ...
7426 United Arab Emirates 12.0 8.281969
[71 rows x 3 columns]],
[ country y1 0
8338 United Arab Emirates 97.0 66.740899
... ... ... ...
8696 United Arab Emirates 8.0 12.884740
[67 rows x 3 columns]],
[ country y1 0
284 Chile 6.0 16.672239
... ... ... ...
374 Chile 5.0 13.534690
[67 rows x 3 columns]]
我發現我做錯了什么。 我剛剛刪除了“模型函數”中返回的 dataframe 前面的括號
return [newdf] -> return newdf
然后我連接結果而不是附加它們,我重置索引以獲得我的最終 output :)
forecast = pd.concat(Modelresult)
forecast.reset_index(drop=True, inplace=True)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.