繁体   English   中英

如何使 dataframe 全球化? 出现错误 - UnboundLocalError:分配前引用的局部变量

[英]How can I make a dataframe global? Getting error - UnboundLocalError: local variable referenced before assignment

我正在尝试从外部进程中获取一些数据,并不断地将其 append 到 dataframe 中,稍后我将其上传到 DF 中,但出现此错误:

UnboundLocalError: local variable 'financials_Balance_Sheet_yearlyDF' referenced before assignment

这就是我正在做的事情:

global financials_Balance_Sheet_yearlyDF  
financials_Balance_Sheet_yearlyDF =  pd.DataFrame() 

def appendDFForTable(mainDF, DFtoAppend):
  
  mainDF = mainDF.append(DFtoAppend)
  return mainDF


def buildDFforUpload(tableName, DFtoAppend):
  if tableName == 'financials_Balance_Sheet_yearly': 
    financials_Balance_Sheet_yearlyDF =   appendDFForTable(financials_Balance_Sheet_yearlyDF, DFtoAppend) <<--this line is resulting in above error.

我在这里做错了什么? 我想如果我将变量设为全局变量或在 function 之外声明它是否可以访问? 我的目标是声明这个变量,然后在我从我的流程中收集数据时扩展它。

更新:根据克里斯的评论 - 我通过buildDFforUpload('financials_Balance_Sheet_yearly', dfThatIWantToAppend)调用 function

当您想在 python 中使用全局变量时,您必须像在第 2 行中那样创建它:

financials_Balance_Sheet_yearlyDF =  pd.DataFrame() 

然后,在使用该变量的 function 中,您将其声明为全局:

def buildDFforUpload(tableName, DFtoAppend):
    global financials_Balance_Sheet_yearlyDF
    if tableName == 'financials_Balance_Sheet_yearly': 
        financials_Balance_Sheet_yearlyDF = appendDFForTable(financials_Balance_Sheet_yearlyDF, DFtoAppend) 

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM