![](/img/trans.png)
[英]How to store generate result from a function inside a for loop to DataFrame in Python?
[英]How to store loop result into a dataframe?
我的數據是從 1994 年到 2022 年。 原始數據視圖
我曾嘗試將 append 循環結果轉換為一個數據幀,但是,它只管理 append 1 個數據。
我如何 go 關於它來存儲所有數據?
def portfolio_allocation (data,breakpoint):
pf = pd.DataFrame()
for i in data.index:
sort = data.sort_values(by = i , axis = 1)
sorted_data = sort.loc[i]
new_data = sorted_data.to_frame()
# pf_01 = less than 10 percentile
q10 = np.percentile(sorted_data.values, [10])
pf_1 = new_data[new_data.values < q10]
pf_01 = pf.append(pf_1)
return pf_01
我想要的結果:
1994
01
stock
s_1393 0.000003
s_0462 0.000010
s_0678 0.000010
s_1129 0.000014
s_0962 0.000018
... ...
s_1065 0.003247
s_0766 0.003253
s_0031 0.003272
s_0451 0.003291
s_1600 0.003297
[200 rows x 1 columns]
1994
02
stock
s_1393 0.000003
s_0462 0.000007
s_0678 0.000011
s_0962 0.000016
s_1129 0.000023
... ...
s_1343 0.003262
s_1207 0.003276
s_1232 0.003322
s_1870 0.003326
s_0557 0.003347
[200 rows x 1 columns]
但是,我只獲得 1994 01。
我無法清楚地回答,因為我沒有你的數據,你想要做什么也不清楚。
但我的建議是將循環中的最后一行更改為pf = pf.append(pf_1)
和 function 中的最后一行return pf
由於您沒有使用一開始初始化的pf
變量。
編輯:
另外,如果我沒記錯的話, pd.append
已被棄用,所以你最好使用pd.concat
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.