복소수(complex number) 배열에서 실수 부분을 추출하려면 numpy.real() 메서드를 사용하면 됩니다. 이 메서드는 복소수 인자의 실수 성분을 반환하며, 입력값이 실수인 경우에는 해당 값의 자료형이 그대로 출력에 사용됩니다. 반면 복소수 원소를 포함하는 경우 반환되는 자료형은 float입니다.
첫 번째 매개변수인 val은 입력 배열을 의미합니다. 이 글에서는 numpy.real() 메서드로 실수 부분을 확인한 뒤, arr.real 속성을 사용해 실수 부분을 직접 변경하는 방법까지 함께 알아보겠습니다.
단계별 진행 방법
1단계: 필요한 라이브러리 가져오기
먼저 NumPy 라이브러리를 임포트합니다.
import numpy as np
2단계: 복소수 배열 생성하기
array() 메서드를 사용하여 복소수 요소를 가진 배열을 생성합니다.
arr = np.array([36.+1.j , 27.+2.j , 68.+3.j , 23.+2.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.real() 메서드를 호출하여 복소수 배열의 실수 부분만 추출합니다.
print("\nReal part...\n",np.real(arr))5단계: 실수 부분 변경하기
arr.real 속성에 새로운 값을 할당하면 배열 내 모든 복소수 요소의 실수 부분이 한 번에 변경됩니다.
arr.real = 5
print("\nUpdated result...\n",arr)전체 예제 코드
import numpy as np
# array() 메서드로 복소수 배열 생성
arr = np.array([36.+1.j , 27.+2.j , 68.+3.j , 23.+2.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.real() 메서드로 실수 부분 추출
print("\nReal part...\n",np.real(arr))
# 실수 부분 변경
arr.real = 5
print("\nUpdated result...\n",arr)실행 결과
Our Array... [36.+1.j 27.+2.j 68.+3.j 23.+2.j] Dimensions of our Array... 1 Datatype of our Array object... complex128 Shape of our Array... (4,) Real part... [36. 27. 68. 23.] Updated result... [5.+1.j 5.+2.j 5.+3.j 5.+2.j]
실행 결과를 보면 np.real(arr)은 각 복소수 요소의 실수 부분인 [36. 27. 68. 23.]을 float 형태로 반환합니다. 이후 arr.real = 5로 실수 부분을 변경하면 허수 부분(1.j, 2.j, 3.j, 2.j)은 그대로 유지된 채 실수 부분만 모두 5로 바뀐 것을 확인할 수 있습니다.