numpy.sign
numpy.sign(x, *ufunc_args) = <ufunc 'sign'>
Функция sign() является указателем на знак числа.
Если x
вещественное, то возвращаемое значение зависит от x
следующим образом:
$$\operatorname{sign} (x)={\begin{cases}\ \ 1,&x>0\\\ \ 0,&x=0\\-1,&x<0\end{cases}}$$
Если x
комплексное, то значение sign(x)
определяется как:
$$\operatorname{sign} (x)={\begin{cases}\ \ sign(x.real)+0j, &x.real\neq 0\\\ \ sign(x.imag)+0j,&x.real=0\end{cases}}$$
Где x.real
- действительная, а x.imag
- мнимая части комплексного числа.
-
- x - число, массив или подобный массиву объект
- Входные данные.
- *ufunc_args - аргументы универсальной функции
- Аргументы, позволяющие настроить и оптимизировать работу функции (подробнее см. универсальные функции).
-
- результат - массив NumPy или вещественное число
- Массив вычисленных указателей на знак каждого элемента из x или число, если на вход подано одно число.
Замечание
Если действительная или (и) мнимая части комплексного числа равны np.nan то будет возвращено (nan + 0j)
.
Примеры
>>> import numpy as np
>>>
>>> np.sign([-7, -6.25, 0, 5, 5.25])
array([-1., -1., 0., 1., 1.])
>>>
>>> np.sign([-np.inf, -0, np.inf, np.nan])
array([-1., 0., 1., nan])
>>> np.sign([1 + 1j, 1 - 1j, -1 + 1j, -1 - 1j])
array([ 1.+0.j, 1.+0.j, -1.+0.j, -1.+0.j])
>>>
>>> np.sign([0 + 1j, 0 - 1j])
array([ 1.+0.j, -1.+0.j])
>>>
>>>
>>> z = np.complex(np.nan, 1)
>>> np.sign(z)
(nan+0j)
>>>
>>> z = np.complex(1, np.nan)
>>> np.sign(z)
(nan+0j)
>>>
>>> z = np.complex(np.nan, np.nan)
>>> np.sign(z)
(nan+0j)