在同一个函数中引用局部变量

Referencing local variable within the same function

我想使用函数合并 2 个 DataFrame。 该函数在使用变量 'x=1' 调用时创建 DataFrame df1,然后在使用 'x != 1' 调用时创建另一个 df2,基于函数中的 if 语句 - 为了进一步清楚起见,下面的代码片段。

到达“df3 = pd.concat”行后,我收到错误“UnboundLocalError:赋值前引用的局部变量'df1'””。

我想了解如何实现将df1和df2拼接成df3的结果。

def Concat(url, x):
    if x == 1:
        df1 = pd.read_json(url)
    else:
        df2 = pd.read_json(url)
        df3 = pd.concat([df1, df2], ignore_index=True)


def main():
    Concat('*url*', 1)
    Concat('*url*', 2)

你应该稍微调整一下,成为:

def Concat(url, x):
    for i in x:
        if i == 1:
            df1 = pd.read_json(url)
        else:
            df2 = pd.read_json(url)
            df3 = pd.concat([df1, df2], ignore_index=True)


def main():
    Concat('*url*', [1, 2])