【问题标题】:The Kernel crashes when I use np.float64当我使用 np.float64 时内核崩溃
【发布时间】:2023-01-09 21:35:10
【问题描述】:

当我定义以下代码并尝试将其“应用”到数据帧时,它会出现上述错误,当我将 dtype 从 float64 更改为 float32 时,我没有收到任何错误。可能是什么问题?

def round(x):
    if x.dtype == np.float64:
        return round(x)
    else:
        return x

我只是跟着一个训练营,这件事发生了。顺便说一下,我正在使用 VS Code

【问题讨论】:

  • 这会导致无限递归,因为 round 在条件为真时调用自身。您可能希望将您的函数名称更改为 round 以外的名称。
  • 您正在谈论“上述错误”,但是没有给出错误
  • 你可以使用 NumPy 库 np.round(x)
  • 可能您想写return np.round(x)

标签: python


【解决方案1】:

您正在定义函数 round,然后在没有任何终止条件的情况下在自身内部调用它(递归)。

一种解决方案可能是将您的函数命名为 my_round 或与内置函数 round 不同的名称。或者,正如@tevemadar 在评论中指出的那样,使用np.round()

【讨论】:

  • 谢谢!我刚刚意识到我的错误。一旦时间限制过去,我将接受您的回答。
猜你喜欢
  • 2023-02-22
  • 2018-09-20
  • 1970-01-01
  • 2017-10-12
  • 2014-09-16
  • 2016-08-14
  • 1970-01-01
  • 1970-01-01
  • 2012-01-07
相关资源
最近更新 更多