Функция reciprocal
Функция reciprocal возвращает массив, каждый элемент которого
является обратным числом (мультипликативной инверсией)
соответствующего элемента исходного массива. Для целочисленных
массивов результат округляется до ближайшего целого,
а деление на ноль приводит к переполнению или выдаёт бесконечность
для чисел с плавающей точкой.
Синтаксис
np.reciprocal(x, /, out=None, *, where=True)
Пример
Давайте вычислим обратные значения для массива целых чисел:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = np.reciprocal(arr)
print(res)
Результат выполнения кода:
[1 0 0 0 0]
Обратите внимание: для целых чисел результаты округляются вниз (1/2 = 0, 1/3 = 0 и так далее).
Пример
Давайте вычислим обратные значения для массива чисел с плавающей точкой:
import numpy as np
arr = np.array([1.0, 2.0, 3.0, 4.0, 5.0])
res = np.reciprocal(arr)
print(res)
Результат выполнения кода:
[1. 0.5 0.33333333 0.25 0.2 ]
Для чисел с плавающей точкой вычисления выполняются с максимальной точностью.
Пример
Давайте обработаем двумерный массив, содержащий отрицательные числа:
import numpy as np
arr = np.array([[-2.0, -1.0], [1.0, 2.0]])
res = np.reciprocal(arr)
print(res)
Результат выполнения кода:
[[-0.5 -1. ]
[ 1. 0.5]]
Функция корректно обрабатывает отрицательные значения, сохраняя их знак.
Пример
Давайте посмотрим, что происходит при делении на ноль в массиве:
import numpy as np
arr = np.array([0.0, 1.0, 2.0])
res = np.reciprocal(arr)
print(res)
Результат выполнения кода:
[inf 1. 0.5]
При попытке вычислить обратное значение для нуля возвращается бесконечность (inf).
Смотрите также
-
функцию
power,
которая возводит элементы массива в заданную степень -
функцию
divide,
которая выполняет поэлементное деление массивов -
функцию
true_divide,
которая выполняет поэлементное деление с плавающей точкой -
функцию
sqrt,
которая вычисляет квадратный корень из элементов массива