python - 在映射函数中除以 0

标签 python pandas numpy divide-by-zero

我想知道如何处理映射函数内除以 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/

相关文章:

python - 如何在 Python 中安装和使用 scikit-learn

python - 在 Python 中按另一个数组对数组的行进行排序

python - Tensorflow 查找具有匹配值的像素

python - 每表行 flask 4 个项目

python - 对非数字类型的符号操作

python - 如何在Python中打印消息内引号中的名称?

python - 从 PySpark 中的类别分布中查找值的百分位数

javascript - 在 Python 中将 postgresql 时间戳转换为 JavaScript 时间戳

python - 获取数据框中大于或等于零的行的平均值

python - 使用 numpy.genfromtxt 从文件读取数据时跳过行