Функция absolute
Функция absolute (и её синоним abs) вычисляет
абсолютное значение для каждого элемента переданного массива.
Для действительных чисел это их модуль (расстояние от нуля),
а для комплексных - их величина (модуль комплексного числа).
Функция возвращает новый массив с результатами, сохраняя
исходный массив неизменным.
Синтаксис
np.absolute(x, out=None, where=True)
Параметр x - это входной массив или скаляр.
Необязательный параметр out задаёт массив для
сохранения результата. Параметр where определяет
условие для вычислений.
Пример с целыми числами
Вычислим модуль для массива целых чисел, содержащего отрицательные значения:
import numpy as np
arr = np.array([-5, -2, 0, 3, 7])
res = np.absolute(arr)
print(res)
Результат выполнения кода:
[5 2 0 3 7]
Как видно, все отрицательные числа стали положительными, а ноль и положительные числа остались без изменений.
Пример с числами с плавающей точкой
Работа с числами с плавающей точкой происходит аналогично:
import numpy as np
arr = np.array([-1.5, -0.0, 0.5, 3.14, -2.71])
res = np.abs(arr) # Используем синоним
print(res)
Результат выполнения кода:
[1.5 0. 0.5 3.14 2.71]
Функция корректно обрабатывает как положительные, так и отрицательные числа с плавающей точкой.
Пример с комплексными числами
Для комплексных чисел функция вычисляет их модуль (длину вектора на комплексной плоскости):
import numpy as np
arr = np.array([3+4j, 1-2j, -5+12j, 0+1j])
res = np.absolute(arr)
print(res)
Результат выполнения кода:
[ 5. 2.23606798 13. 1. ]
Модуль вычисляется по формуле sqrt(Re² + Im²), поэтому
для 3+4j результат равен 5.0.
Пример использования параметра out
Можно сохранить результат в заранее выделенный массив, используя параметр out:
import numpy as np
arr = np.array([-10, -20, 30, -40, 50])
out_arr = np.empty_like(arr)
np.absolute(arr, out=out_arr)
print(out_arr)
Результат выполнения кода:
[10 20 30 40 50]
Этот подход позволяет избежать создания нового массива и экономит память при работе с большими данными.
Смотрите также
-
функцию
sign,
которая возвращает знак каждого элемента массива -
функцию
fabs,
которая вычисляет модуль для чисел с плавающей точкой (быстрее, но не поддерживает комплексные) -
функцию
sqrt,
которая вычисляет квадратный корень из элементов массива -
функцию
square,
которая возводит элементы массива в квадрат