numpy.absolute#

numpy.absolute(x, /, out=None, *, where=True, casting='same_kind', order='K', dtype=None, subok=True[, signature]) = <ufunc 'absolute'>#

逐元素计算绝对值。

np.abs 是此函数的简写。

参数:
xarray_like

输入数组。

outndarray、None 或 ndarray 和 None 的元组,可选

存储结果的位置。如果提供,则其形状必须与输入广播到的形状一致。如果未提供或为 None,则返回一个新分配的数组。元组(仅可能作为关键字参数)的长度必须等于输出的数量。

wherearray_like,可选

此条件在输入上广播。在条件为 True 的位置,out 数组将设置为 ufunc 的结果。在其他地方,out 数组将保留其原始值。请注意,如果通过默认的 out=None 创建未初始化的 out 数组,则其中条件为 False 的位置将保持未初始化。

**kwargs**

对于其他仅限关键字的参数,请参阅 ufunc 文档

返回值:
absolutendarray

包含 x 中每个元素的绝对值的 ndarray。对于复数输入 a + ib,绝对值为 \(\sqrt{ a^2 + b^2 }\)。如果 x 是标量,则这是一个标量。

示例

>>> import numpy as np
>>> x = np.array([-1.2, 1.2])
>>> np.absolute(x)
array([ 1.2,  1.2])
>>> np.absolute(1.2 + 1j)
1.5620499351813308

[-10, 10] 上绘制函数

>>> import matplotlib.pyplot as plt
>>> x = np.linspace(start=-10, stop=10, num=101)
>>> plt.plot(x, np.absolute(x))
>>> plt.show()
../../_images/numpy-absolute-1_00_00.png

在复平面上绘制函数

>>> xx = x + 1j * x[:, np.newaxis]
>>> plt.imshow(np.abs(xx), extent=[-10, 10, -10, 10], cmap='gray')
>>> plt.show()
../../_images/numpy-absolute-1_01_00.png

可以将 abs 函数用作 ndarray 上 np.absolute 的简写。

>>> x = np.array([-1.2, 1.2])
>>> abs(x)
array([1.2, 1.2])