我正在尝试一个可能非常简单的函数,我想存储其他函数的结果并最后打印所有结果(如记录器函数)。为此,我有以下代码: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
提交
取消
