【发布时间】:2021-08-23 01:33:07
【问题描述】:
我想使用一个函数合并 2 个 DataFrame。 该函数在使用变量“x = 1”调用时创建 DataFrame df1,然后在使用“x!= 1”调用时创建另一个 df2,基于函数中的 if 语句 - 为进一步清楚起见,下面的代码 sn-p。
到达“df3 = pd.concat”行时,我收到错误“UnboundLocalError: local variable 'df1' referenced before assignment”。
我想了解如何实现将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)
【问题讨论】:
-
在
else块中,你永远不会定义df1,所以你会得到UnboundLocalError。 -
both df1 and df2 are generated这就是你错的地方。您有生成两者的代码,但它永远不会一起运行。
标签: python-3.x local-variables