numpy.copysign#

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

逐元素地將 x1 的正負號更改為 x2 的正負號。

如果 x2 是純量,則其正負號將複製到 x1 的所有元素。

參數:
x1array_like

要更改正負號的值。

x2array_like

x2 的正負號會複製到 x1。 如果 x1.shape != x2.shape,則它們必須可廣播到一個通用形狀 (這將成為輸出的形狀)。

outndarray, None, 或 ndarray 和 None 的元組, 可選

儲存結果的位置。 如果提供,則它必須具有輸入廣播到的形狀。 如果未提供或為 None,則會傳回新分配的陣列。 元組 (僅可作為關鍵字引數) 的長度必須等於輸出的數量。

wherearray_like, 可選

此條件會廣播到輸入。 在條件為 True 的位置,out 陣列將設定為 ufunc 結果。 在其他位置,out 陣列將保留其原始值。 請注意,如果透過預設 out=None 建立未初始化的 out 陣列,則其中條件為 False 的位置將保持未初始化。

**kwargs

如需其他僅限關鍵字引數,請參閱 ufunc 文件

傳回值:
outndarray 或 純量

具有 x2 正負號的 x1 值。 如果 x1x2 都是純量,則這是一個純量。

範例

>>> import numpy as np
>>> np.copysign(1.3, -1)
-1.3
>>> 1/np.copysign(0, 1)
inf
>>> 1/np.copysign(0, -1)
-inf
>>> np.copysign([-1, 0, 1], -1.1)
array([-1., -0., -1.])
>>> np.copysign([-1, 0, 1], np.arange(3)-1)
array([-1.,  0.,  1.])