【问题标题】:RecursionError: maximum recursion depth exceeded solutionRecursionError: 超出最大递归深度的解决方案
【发布时间】:2020-11-28 09:32:09
【问题描述】:

我需要有关如何处理递归深度错误的帮助。当我尝试使用下面提到的代码将 NaN 值替换为中值时出现此错误(由于单列中的异常值),

app_data['AMT_REQ_CREDIT_BUREAU_YEAR'].fillna(app_data['AMT_REQ_CREDIT_BUREAU_YEAR'].median, inplace = True)
  • 数据的形状是(307511, 18)
  • 中的缺失值 AMT_REQ_CREDIT_BUREAU_YEAR 列是 41519

如何解决我遇到的错误? RecursionError: 超出最大递归深度

【问题讨论】:

    标签: python pandas recursion


    【解决方案1】:

    median() 是一个函数。你传递了一个函数,而不是你发出()的函数结果

    app_data = pd.DataFrame({"DATE":d, 
                             "AMT_REQ_CREDIT_BUREAU_YEAR":
                             [i.year if random.randint(0,3)<2 else np.nan for i in d]})
    
    fillval = app_data['AMT_REQ_CREDIT_BUREAU_YEAR'].median()
    app_data['AMT_REQ_CREDIT_BUREAU_YEAR'].fillna(app_data['AMT_REQ_CREDIT_BUREAU_YEAR'].median(), inplace = True)
    app_data
    

    【讨论】:

    • 谢谢@Rob Raymond。但是您在哪里使用了您创建的“fillval”?
    • 只是我在试验...不需要
    • 知道了!谢谢,这有帮助:)
    【解决方案2】:

    希望这对其他人有所帮助 -

    我在 Flask 中深度复制 FileObject 时遇到了同样的错误:

    file_blob = copy.deepcopy(file_object)
    

    哪个抛出了错误:

    RecursionError: maximum recursion depth exceeded
    

    解决方案:基于this 的回答,在脚本顶部添加以下行:

    sys.setrecursionlimit(1500)
    

    【讨论】:

      猜你喜欢
      • 2017-03-24
      • 2020-10-08
      • 2020-07-13
      • 2018-09-24
      • 2019-01-18
      • 1970-01-01
      • 1970-01-01
      • 2019-03-23
      • 2019-04-18
      相关资源
      最近更新 更多