我的代码中有多个实例,用于计算列表的均值。因此,我正在寻找一种方法来显示代码行,与任何普通错误一样,在其中出现“空片均值”警告。
输入的是普通列表[1,2,3]
或numpy列表np.array([1,2,3])
所以我想要这样的事情:File "file_name.py", line <line_number> in <folder_number>
到目前为止,我可以打印出所有均值计算结果,如下所示:
test1 = np.mean([1,2,3])
print('test1',test1)
但是,我认为,对于代码中存在许多此类计算的情况而言,这是多余的。有没有办法更改警告的配置,使其返回此信息?
最佳答案
您可以使用np.seterr(all='raise')
将所有numpy警告升级为错误。
这样,您的代码将在出现空片的平均值时引发异常并中断,您将能够看到它的发生位置:
>>> import numpy as np
>>> np.seterr(all="raise")
{'divide': 'warn', 'over': 'warn', 'under': 'ignore', 'invalid': 'warn'}
>>> np.mean([]) # raises FloatingPointError
关于python - 显示返回 'Mean of empty slice'的行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63822171/