我想知道如何处理映射函数内除以 0 的错误(在 Python 2.7 下)。
不使用 map
,我得到
def my_func(a, b):
return a / b
a = pandas.DataFrame([1, 1])
b = pandas.DataFrame([1, 0])
my_func(a, b)
Out[]:
0
0 1.000000
1 inf
但是使用map
时我得到了不同的结果:
map(my_func, a, b)
Out[]:
File "<ipython-input-12-83b4adbfd8de>", line 3, in func
return a / b
ZeroDivisionError: integer division or modulo by zero
我该如何处理这个错误?
最佳答案
你可以尝试这样:
def my_func(a, b):
if b != 0: return a / b
else: return np.inf
或者捕获警告:
import warnings
warnings.filterwarnings("error")
def my_func(a, b):
try:
return a / b
except:
return np.inf
关于python - 在映射函数中除以 0,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51741211/