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

Python NumPy numpy.log2() 함수로 배열의 밑이 2인 로그 계산하기

Python Numpy에서 numpy.log2() 메서드를 사용하면 입력 배열의 밑이 2인 로그(log₂)를 손쉽게 계산할 수 있습니다. 이 메서드는 x의 밑이 2인 로그 값을 반환하며, 입력값이 스칼라일 경우 결과 역시 스칼라로 반환됩니다.

numpy.log2()의 주요 매개변수

첫 번째 매개변수 x는 로그를 계산할 입력값으로, 배열 형태(array-like)의 데이터를 받습니다.

두 번째 매개변수 out은 결과가 저장될 위치입니다. 이 값을 지정하면 입력이 브로드캐스팅될 수 있는 형태(shape)여야 하며, 지정하지 않거나 None으로 설정하면 새로 할당된 배열이 반환됩니다. 튜플을 전달할 경우 그 길이는 출력 개수와 같아야 합니다.

세 번째 매개변수 where는 조건을 입력에 브로드캐스팅합니다. 조건이 True인 위치에는 out 배열에 ufunc 결과가 저장되고, 그 외의 위치에서는 out 배열이 원래 값을 유지합니다. 참고로 기본값 out=None으로 초기화되지 않은 배열을 생성한 경우, 조건이 False인 위치의 값은 초기화되지 않은 상태로 남게 됩니다.

구현 단계

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

import numpy as np

array() 메서드를 사용해 배열을 생성합니다.

arr = np.array([1, 2, 10])

생성한 배열을 화면에 출력합니다.

print("Array...\n", arr)

배열의 데이터 타입을 확인합니다.

print("\nOur Array type...\n", arr.dtype)

배열의 차원을 확인합니다.

print("\nOur Array Dimension...\n", arr.ndim)

배열의 형태(shape)를 확인합니다.

print("\nOur Array Shape...\n", arr.shape)

numpy.log2() 메서드를 사용해 입력 배열의 밑이 2인 로그를 계산합니다.

print("\nResult...\n", np.log2(arr))

전체 예제 코드

import numpy as np

# array() 메서드로 배열 생성
arr = np.array([1, 2, 10])

# 배열 출력
print("Array...\n", arr)

# 배열의 데이터 타입 확인
print("\nOur Array type...\n", arr.dtype)

# 배열의 차원 확인
print("\nOur Array Dimension...\n", arr.ndim)

# 배열의 형태 확인
print("\nOur Array Shape...\n", arr.shape)

# numpy.log2() 메서드로 밑이 2인 로그 계산
# 입력이 스칼라면 결과도 스칼라로 반환됨
print("\nResult...\n", np.log2(arr))

실행 결과

Array...
[ 1 2 10]

Our Array type...
int64

Our Array Dimension...
1

Our Array Shape...
(3,)

Result...
[0. 1. 3.32192809]

실행 결과를 보면 각 요소에 대한 log₂ 값이 정확히 계산된 것을 확인할 수 있습니다. log₂(1) = 0, log₂(2) = 1, log₂(10) ≈ 3.32192809가 순서대로 출력됩니다.