Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

Python NumPy로 복소수 배열의 실수 부분 확인하고 변경하기

복소수(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로 바뀐 것을 확인할 수 있습니다.