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

Python NumPy float_power() – 첫 번째 배열 요소를 두 번째 배열의 지수로 거듭제곱하기

Python NumPy에서 float_power() 메서드를 사용하면 첫 번째 배열(x1)의 각 요소를 두 번째 배열(x2)의 대응하는 지수로 거듭제곱한 결과를 손쉽게 구할 수 있습니다. 이 메서드는 x1의 밑수를 x2의 지수로 거듭제곱한 값을 반환하며, x1과 x2가 모두 스칼라일 경우 결과 역시 스칼라로 반환됩니다.

float_power() 메서드의 특징

float_power()는 밑수를 나타내는 x1과 지수를 나타내는 x2를 매개변수로 받습니다. x1의 각 밑수를 위치에 대응하는 x2의 지수로 거듭제곱하며, 두 배열은 브로드캐스팅을 통해 동일한 형태로 맞출 수 있어야 합니다.

이 함수가 일반적인 power() 함수와 다른 점은 정수, float16, float32 타입의 입력이 최소 float64 정밀도를 가지는 부동소수점으로 자동 승격된다는 것입니다. 따라서 결과는 항상 부정확한(inexact) 값이 됩니다. 이러한 설계 의도는 음수 지수에 대해서도 사용 가능한 결과를 제공하고, 양수 지수 계산 시 오버플로가 드물게 발생하도록 하는 데 있습니다.

주의할 점은 음수 값을 정수가 아닌 지수로 거듭제곱하면 nan이 반환된다는 것입니다. 복소수 결과가 필요하다면 입력값을 complex 타입으로 변환하거나 dtype을 complex로 지정해야 합니다.

구현 단계

먼저 필요한 라이브러리를 임포트합니다.

import numpy as np

거듭제곱의 밑수가 될 배열을 생성합니다.

x1 = range(6)

생성한 밑수 배열을 출력합니다.

print("The bases...\n", x1)

float_power() 메서드를 사용해 첫 번째 배열의 요소들을 지수 2로 거듭제곱한 결과를 출력합니다.

print("\nResult...\n", np.float_power(x1, 2))

전체 예제 코드

import numpy as np

# 밑수 배열 생성
x1 = range(6)

# 밑수 출력
print("The bases...\n", x1)

# float_power() 메서드로 거듭제곱 계산
print("\nResult...\n", np.float_power(x1, 2))

실행 결과

The bases...
range(0, 6)

Result...
[ 0.  1.  4.  9. 16. 25.]