原文:https://docs.scipy.org/doc/numpy/reference/generated/numpy.divide.html
校对:(虚位以待)
numpy.
divide
(x1, x2[, out]) = <ufunc 'divide'>逐元素分割参数。
参数: | x1:array_like
x2:array_like
out:ndarray,可选
|
---|---|
返回: | y:ndarray或scalar
|
也可以看看
seterr
笔记
在阵列广播方面等同于x1
/ x2
。
可以使用seterr
更改除以零的行为。
在Python 2中,当x1
和x2
都是整数类型时,divide
会像floor_divide
。在Python 3中,它的行为像true_divide
。
例子
>>> np.divide(2.0, 4.0)
0.5
>>> x1 = np.arange(9.0).reshape((3, 3))
>>> x2 = np.arange(3.0)
>>> np.divide(x1, x2)
array([[ NaN, 1. , 1. ],
[ Inf, 4. , 2.5],
[ Inf, 7. , 4. ]])
注意整数类型的行为(仅限Python 2):
>>> np.divide(2, 4)
0
>>> np.divide(2, 4.)
0.5
除以零总是在整数算术中产生零(再次,仅Python 2),并且不会引发异常或警告:
>>> np.divide(np.array([0, 1], dtype=int), np.array([0, 0], dtype=int))
array([0, 0])
但是,可以使用seterr
来捕获零:
>>> old_err_state = np.seterr(divide='raise')
>>> np.divide(1, 0)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
FloatingPointError: divide by zero encountered in divide
>>> ignored_states = np.seterr(**old_err_state)
>>> np.divide(1, 0)
0