입력 배열에 대한 밑이 2인 로그를 반환하려면 Python Numpy의 numpy.log2() 메서드를 사용하면 됩니다.
이 메서드는 x의 밑이 2인 로그를 반환하며, x가 스칼라라면 결과 역시 스칼라가 됩니다.
numpy.log2()의 주요 매개변수
1. x
첫 번째 매개변수 x는 입력 값으로, 배열 형태(array-like)의 데이터를 받습니다.
2. out
두 번째 매개변수 out은 결과가 저장될 위치입니다. 값을 지정할 경우 입력값들이 브로드캐스팅되어 전달될 수 있는 형태(shape)여야 합니다. 지정하지 않거나 None으로 설정하면 새로 할당된 배열이 반환됩니다. 튜플 형태로도 지정할 수 있으며(키워드 인자로만 가능), 이때 길이는 출력의 개수와 같아야 합니다.
3. where
세 번째 매개변수 where는 조건을 입력값 위에 브로드캐스팅합니다. 조건이 True인 위치에서는 out 배열이 ufunc 결과값으로 설정되고, 그 외의 위치에서는 out 배열이 원래 값을 유지합니다. 참고로 기본값인 out=None으로 초기화되지 않은 배열이 생성된 경우, 조건이 False인 위치의 값은 초기화되지 않은 상태로 남게 됩니다.
구현 단계
먼저 필요한 라이브러리를 임포트합니다.
import numpy as np
array() 메서드를 사용해 배열을 생성합니다. 여기에는 허수를 포함한 복소수 요소들을 넣습니다.
arr = np.array([0+1.j, 1, 2+0.j])
생성된 배열을 화면에 출력합니다.
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([0+1.j, 1, 2+0.j])
# 배열 출력
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인 로그 계산
# 이 메서드는 x의 밑이 2인 로그를 반환하며, x가 스칼라이면 결과도 스칼라입니다.
print("\nResult...\n", np.log2(arr))실행 결과
Array... [0.+1.j 1.+0.j 2.+0.j] Our Array type... complex128 Our Array Dimension... 1 Our Array Shape... (3,) Result... [0.+2.26618007j 0.+0.j 1.+0.j ]
위 실행 결과를 보면, 복소수 요소를 포함한 배열에 대해서도 numpy.log2()가 정상적으로 밑이 2인 로그를 계산하는 것을 확인할 수 있습니다. 특히 허수부를 포함한 값(0+1.j)의 경우 결과에 허수 성분이 포함되어 반환됩니다.