Python - 具有数据框来存储其他函数结果的函数

我正在尝试一个可能非常简单的函数,我想存储其他函数的结果并最后打印所有结果(如记录器函数)。


为此,我有以下代码:


import pandas as pd


def append_rows(id, result):

    df = pd.DataFrame([])

    df = df.append(pd.DataFrame(

        {'id': id,

         'result': result}, index=[0]), ignore_index=False, sort=False)

    return df


def 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,Draft2

2,Draft3

3,Draft4

4,Draft5

5,Draft6

1,Draft1

2,Draft1

但实际结果是(:


"",""

我的要求是拥有一个独特的函数来存储其他函数的结果,而不是每个函数都有多个数据帧,最后将它们全部连接成一个。


任何人都知道我该怎么做?


谢谢!


森林海
浏览 142回答 1
1回答

子衿沉夜

使用当前的 append_rows 函数,您将在每次迭代中创建一个新的数据框。目前尚不完全清楚您想要实现什么,但我想您可能有兴趣在每次迭代中向数据框添加新行?在这种情况下,我会推荐以下步骤:在函数之外创建数据框在函数之外创建一个 list_of_lists将循环中的每个新创建的列表添加到列表列表中循环后将列表列表附加到数据框如果您只是对创建迭代日志感兴趣,那么我根本不明白为什么需要数据框,您可以简单地在循环中打印值。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python