我正在嘗試一個(gè)可能非常簡(jiǎn)單的函數(shù),我想存儲(chǔ)其他函數(shù)的結(jié)果并最后打印所有結(jié)果(如記錄器函數(shù))。為此,我有以下代碼:import pandas as pddef append_rows(id, result): df = pd.DataFrame([]) df = df.append(pd.DataFrame( {'id': id, 'result': result}, index=[0]), ignore_index=False, sort=False) return dfdef calculator_1(): for i in range(5): print(append_rows(i,'Draft' + i+1))def calculator_1(): for i in range(2): print(append_rows(i,'Draft' + 1))print(append_rows('', ''))我的預(yù)期結(jié)果是:1,Draft22,Draft33,Draft44,Draft55,Draft61,Draft12,Draft1但實(shí)際結(jié)果是(:"",""我的要求是擁有一個(gè)獨(dú)特的函數(shù)來(lái)存儲(chǔ)其他函數(shù)的結(jié)果,而不是每個(gè)函數(shù)都有多個(gè)數(shù)據(jù)幀,最后將它們?nèi)窟B接成一個(gè)。任何人都知道我該怎么做?謝謝!
1 回答

子衿沉夜
TA貢獻(xiàn)1828條經(jīng)驗(yàn) 獲得超3個(gè)贊
使用當(dāng)前的 append_rows 函數(shù),您將在每次迭代中創(chuàng)建一個(gè)新的數(shù)據(jù)框。目前尚不完全清楚您想要實(shí)現(xiàn)什么,但我想您可能有興趣在每次迭代中向數(shù)據(jù)框添加新行?
在這種情況下,我會(huì)推薦以下步驟:
在函數(shù)之外創(chuàng)建數(shù)據(jù)框
在函數(shù)之外創(chuàng)建一個(gè) list_of_lists
將循環(huán)中的每個(gè)新創(chuàng)建的列表添加到列表列表中
循環(huán)后將列表列表附加到數(shù)據(jù)框
如果您只是對(duì)創(chuàng)建迭代日志感興趣,那么我根本不明白為什么需要數(shù)據(jù)框,您可以簡(jiǎn)單地在循環(huán)中打印值。
添加回答
舉報(bào)
0/150
提交
取消