Функция modf
Функция modf разделяет каждый элемент входного массива на целую и дробную части.
Она возвращает кортеж из двух массивов: первый содержит дробные части, второй - целые.
Дробные части всегда имеют тот же знак, что и исходное число.
Синтаксис
np.modf(x, [out1, out2], [where=True])
Параметры:
-
x- входной массив или скаляр; -
out1,out2- необязательные массивы для сохранения результатов; -
where- условие, при котором вычисления производятся.
Пример
Разделим массив положительных чисел на дробную и целую части:
import numpy as np
arr = np.array([1.75, 2.3, 3.99, 4.0])
fractional, integral = np.modf(arr)
print("Fractional parts:", fractional)
print("Integral parts:", integral)
Результат выполнения кода:
"Fractional parts: [0.75 0.3 0.99 0. ]"
"Integral parts: [1. 2. 3. 4.]"
Пример
Рассмотрим работу функции с отрицательными числами:
import numpy as np
arr = np.array([-1.75, -2.3, -3.99, -4.0])
fractional, integral = np.modf(arr)
print("Fractional parts:", fractional)
print("Integral parts:", integral)
Результат выполнения кода:
"Fractional parts: [-0.75 -0.3 -0.99 -0. ]"
"Integral parts: [-1. -2. -3. -4.]"
Обратите внимание: знак дробной части совпадает со знаком исходного числа.
Пример
Используем функцию modf с двумерным массивом:
import numpy as np
arr = np.array([[5.67, 8.12], [3.45, 6.78]])
fractional, integral = np.modf(arr)
print("Original array:")
print(arr)
print("Fractional parts:")
print(fractional)
print("Integral parts:")
print(integral)
Результат выполнения кода:
"Original array:"
[[5.67 8.12]
[3.45 6.78]]
"Fractional parts:"
[[0.67 0.12]
[0.45 0.78]]
"Integral parts:"
[[5. 8.]
[3. 6.]]
Пример
Применим функцию к массиву целых чисел:
import numpy as np
arr = np.array([5, 8, 3, 6])
fractional, integral = np.modf(arr)
print("Fractional parts:", fractional)
print("Integral parts:", integral)
Результат выполнения кода:
"Fractional parts: [0. 0. 0. 0.]"
"Integral parts: [5. 8. 3. 6.]"
Для целых чисел дробная часть всегда равна нулю, а целая часть - самому числу.