我正在嘗試一個可能非常簡單的函數,我想存儲其他函數的結果并最后打印所有結果(如記錄器函數)。為此,我有以下代碼: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('', ''))我的預期結果是:1,Draft22,Draft33,Draft44,Draft55,Draft61,Draft12,Draft1但實際結果是(:"",""我的要求是擁有一個獨特的函數來存儲其他函數的結果,而不是每個函數都有多個數據幀,最后將它們全部連接成一個。任何人都知道我該怎么做?謝謝!
1 回答

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