numpy.sign()

Функция np.sign поэлементно возвращает знак числа: -1 для отрицательных, 0 для нулевых и +1 для положительных значений. Для комплексных чисел возвращает x / |x|.

Сигнатура

numpy.sign(x, /, out=None, *, where=True, dtype=None)

Параметры

  • x — входной массив или число.

  • out — необязательный массив для записи результата.

  • where — условная маска вычисления.

Возвращаемое значение

Массив той же формы, что и x, со значениями -1, 0, +1 (тип float или соответствующий целый).

Примеры

Пример 1. Знаки чисел.

import numpy as np

print(np.sign([-5, -1, 0, 1, 5]))
[-1 -1  0  1  1]

Пример 2. Направление вращения мотора.

speed = np.array([-150, 0, 200, -50])
direction = np.sign(speed)
print(direction)
[-1  0  1 -1]

Пример 3. С дробными числами.

print(np.sign([-0.5, 0.0, 3.14, -2.7]))
[-1.  0.  1. -1.]

Пример 4. Разделение положительных и отрицательных отсчётов сигнала.

signal = np.array([0.1, -0.3, 0.5, -0.2, 0.0])
positive = np.sum(np.sign(signal) > 0)
negative = np.sum(np.sign(signal) < 0)
print(f"+: {positive}, -: {negative}")
+: 2, -: 2

Пример 5. Реализация функции активации (sign как простой классификатор).

x = np.array([-0.7, 0.2, -0.1, 0.9])
y = np.sign(x)
print(y)
[-1.  1. -1.  1.]

См. также

Примечание

Лицензия и источники

Техническое описание функции адаптировано из официальной документации NumPy (https://numpy.org/doc/stable/), BSD-3-Clause License. Примеры и пояснения — © AlashEd Wiki.