복소수 인수에서 허수부(imaginary part)를 추출하려면 NumPy의 numpy.imag() 메서드를 사용하면 됩니다. 이 메서드는 입력으로 받은 복소수 배열의 허수 성분을 반환합니다.
반환값의 데이터 타입은 다음 규칙을 따릅니다.
- 입력값
val이 실수인 경우: 출력은val의 원래 데이터 타입을 그대로 사용합니다. - 입력값
val이 복소수 요소를 포함하는 경우: 반환 타입은 float가 됩니다.
메서드의 첫 번째 매개변수인 val은 허수부를 구하고자 하는 입력 배열입니다.
단계별 진행 과정
1단계: 필요한 라이브러리 임포트
먼저 NumPy 라이브러리를 가져옵니다.
import numpy as np
2단계: array() 메서드로 배열 생성
np.array() 메서드를 사용해 복소수 요소를 포함하는 배열을 만듭니다.
arr = np.array([36.+5.j , 27.+3.j , 68.+2.j , 23.+7.j])
3단계: 배열 정보 확인
생성된 배열과 차원 수, 데이터 타입, 형태(shape)를 출력하여 확인합니다.
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...\n",arr.shape)4단계: numpy.imag() 메서드로 허수부 반환
np.imag() 메서드에 배열을 전달하면 각 복소수 요소의 허수부만 담긴 새로운 배열이 반환됩니다.
print("\nResult (Imaginary part)...\n",np.imag(arr))전체 예제 코드
import numpy as np
# array() 메서드로 배열 생성
arr = np.array([36.+5.j , 27.+3.j , 68.+2.j , 23.+7.j])
# 배열 출력
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...\n",arr.shape)
# numpy.imag() 메서드로 복소수의 허수부 반환
print("\nResult (Imaginary part)...\n",np.imag(arr))실행 결과
Our Array... [36.+5.j 27.+3.j 68.+2.j 23.+7.j] Dimensions of our Array... 1 Datatype of our Array object... complex128 Shape of our Array... (4,) Result (Imaginary part)... [5. 3. 2. 7.]
실행 결과를 보면 원본 배열의 데이터 타입이 complex128이었지만, np.imag()를 통해 얻은 허수부 결과는 float 타입([5. 3. 2. 7.])으로 반환된 것을 확인할 수 있습니다. 이처럼 numpy.imag()는 복소수 데이터에서 허수 성분만 손쉽게 분리해 낼 때 유용하게 활용됩니다.