Атрибут real
Атрибут real класса ndarray возвращает новый массив, содержащий вещественные части всех элементов исходного массива. Если массив содержит комплексные числа, то атрибут позволяет получить доступ к их вещественным компонентам. Для массивов с действительными числами атрибут возвращает сам массив (по сути, его представление). Важно отметить, что атрибут возвращает представление данных, а не их копию, поэтому изменения в массиве, полученном через real, могут отразиться на исходном массиве (если это возможно для типа данных).
Атрибут real не принимает никаких параметров и всегда возвращает массив того же размера, что и исходный, но с типом данных, соответствующим вещественной части (например, для complex128 результатом будет float64).
Синтаксис
arr.real
Пример
Давайте создадим массив комплексных чисел и извлечём из него вещественные части:
import numpy as np
arr = np.array([1+2j, 3+4j, 5+6j])
res = arr.real
print(res)
Результат выполнения кода:
[1. 3. 5.]
Пример
Атрибут real работает и для многомерных массивов. Получим вещественные части из двумерного массива:
import numpy as np
arr = np.array([[1+2j, 3+4j], [5+6j, 7+8j]])
res = arr.real
print(res)
Результат выполнения кода:
[[1. 3.]
[5. 7.]]
Пример
Рассмотрим случай, когда массив содержит действительные числа. В этом случае атрибут возвращает представление исходного массива:
import numpy as np
arr = np.array([1, 2, 3, 4, 5])
res = arr.real
print(res)
print(res is arr) # Проверка, является ли это тем же объектом
Результат выполнения кода:
[1 2 3 4 5]
True