numpy.copysign
numpy.copysign(x1, x2, *ufunc_args) = <ufunc 'copysign'>
Функция copysign() изменяет знак элементов из массива x1 на знак элементов из массива x2 (при условии, что форма массивов одинакова). Если x2 является одним числом, то все элементы из x будут иметь такой же знак, как и у x2.
-
- x1, x2 - два числа, массивы или подобные массивам объекты
- Входные массивы.
- *ufunc_args - аргументы универсальной функции
- Аргументы, позволяющие настроить и оптимизировать работу функции (подробнее см. универсальные функции).
-
- результат - массив NumPy или вещественное число
- Массив значений с элементами из x1, а знаком из x2. Если x2 и x2 это числа, то результатом будет число.
Примеры
>>> import numpy as np
>>>
>>> np.copysign(10, -1)
-10.0
>>>
>>> np.copysign(-10, 1)
10.0
>>>
>>> np.copysign(-10, -1)
-10.0
>>>
>>> x1 = np.array([np.inf, np.e, np.pi])
>>> x2 = -1
>>>
>>> np.copysign(x1, x2)
array([ -inf, -2.71828183, -3.14159265])
>>>
>>> # Функция неприменима к комплексным числам:
>>> x1 = np.array([1 + 1j, -1 - 1j])
>>>
>>> np.copysign(x1, x2)
Traceback (most recent call last):
File "<stdin>", line 2, in <module>
TypeError: ufunc 'copysign' not supported for the input
types, and the inputs could not be safely coerced to any
supported types according to the casting rule ''safe''