파이썬에서 입력 배열이 복소수이면서 모든 허수부가 0에 가까울 때 실수부만 반환하려면 numpy.real_if_close 함수를 사용하면 됩니다.
여기서 "0에 가깝다"는 기준은 tol × (해당 타입의 머신 입실론)으로 정의됩니다. 만약 배열 a가 실수라면 출력에도 a의 타입이 그대로 사용되며, a가 복소수 요소를 포함하고 있다면 결과는 float 타입으로 반환됩니다.
첫 번째 매개변수 a는 입력 배열이고, 두 번째 매개변수 tol은 배열 요소의 허수부에 대해 머신 입실론 단위로 지정하는 허용 오차입니다.
단계별 진행 과정
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
array() 메서드를 사용해 넘파이 배열을 생성합니다.
arr = np.array([2.1 + 4e-14j, 5.2 + 3e-15j])
생성한 배열을 화면에 출력합니다.
print("Our Array...\n",arr)배열의 차원을 확인합니다.
print("\nDimensions of our Array...\n",arr.ndim)배열 객체의 데이터 타입을 확인합니다.
print("\nDatatype of our Array object...\n",arr.dtype)배열의 형태(shape)를 확인합니다.
print("\nShape of our Array object...\n",arr.shape)허수부가 0에 가까운 복소수 입력에서 실수부를 반환하기 위해 numpy.real_if_close 함수를 적용합니다.
print("\nResult...\n",np.real_if_close(arr, tol = 1000))전체 예제 코드
import numpy as np
# array() 메서드를 사용해 넘파이 배열 생성
arr = np.array([2.1 + 4e-14j, 5.2 + 3e-15j])
# 배열 출력
print("Our Array...\n",arr)
# 차원 확인
print("\nDimensions of our Array...\n",arr.ndim)
# 데이터 타입 확인
print("\nDatatype of our Array object...\n",arr.dtype)
# 형태 확인
print("\nShape of our Array object...\n",arr.shape)
# 허수부가 0에 가까운 복소수 배열에서 실수부만 반환
print("\nResult...\n",np.real_if_close(arr, tol = 1000))실행 결과
Our Array... [2.1+4.e-14j 5.2+3.e-15j] Dimensions of our Array... 1 Datatype of our Array object... complex128 Shape of our Array object... (2,) Result... [2.1 5.2]