numpy.logspace는 로그(log) 스케일로 균등하게 간격을 둔 숫자 배열을 생성하는 함수입니다. 데이터 과학, 신호 처리, 그래프 작업 등에서 널리 활용되며, 지수적으로 증가하는 값을 손쉽게 만들 수 있다는 점이 큰 장점입니다.
기본 문법
numpy.logspace(start, stop, num=50, endpoint=True/False, base=10.0, dtype=None)
매개변수 설명
logspace 함수는 다음과 같은 매개변수를 받을 수 있습니다.
start − 시퀀스의 시작값으로, 로그 스케일의 지수 시작점을 의미합니다.
stop − 시퀀스의 끝값(종료 지수)을 나타냅니다.
num − start와 stop 사이에 생성할 요소의 개수를 지정합니다. 기본값은 50입니다.
endpoint − stop 값을 출력 배열에 포함할지 여부를 결정합니다. True이면 stop 값이 마지막 항목으로 포함되고, False이면 stop 값은 결과에서 제외됩니다.
base − 로그 스케일의 밑(base) 값입니다. 기본값은 10.0입니다.
dtype − 출력 배열의 데이터 타입을 지정합니다.
예제 1: endpoint 옵션 활용
먼저 아래 예제를 살펴보겠습니다.
# 필요한 라이브러리 임포트
import numpy as np
# logspace() 함수 사용
x = np.logspace(start = 1, stop = 8, endpoint = False)
print ("logspace of X : \n", x)출력 결과
위 프로그램은 다음과 같은 결과를 출력합니다.
logspace of X : [1.00000000e+01 1.38038426e+01 1.90546072e+01 2.63026799e+01 3.63078055e+01 5.01187234e+01 6.91830971e+01 9.54992586e+01 1.31825674e+02 1.81970086e+02 2.51188643e+02 3.46736850e+02 4.78630092e+02 6.60693448e+02 9.12010839e+02 1.25892541e+03 1.73780083e+03 2.39883292e+03 3.31131121e+03 4.57088190e+03 6.30957344e+03 8.70963590e+03 1.20226443e+04 1.65958691e+04 2.29086765e+04 3.16227766e+04 4.36515832e+04 6.02559586e+04 8.31763771e+04 1.14815362e+05 1.58489319e+05 2.18776162e+05 3.01995172e+05 4.16869383e+05 5.75439937e+05 7.94328235e+05 1.09647820e+06 1.51356125e+06 2.08929613e+06 2.88403150e+06 3.98107171e+06 5.49540874e+06 7.58577575e+06 1.04712855e+07 1.44543977e+07 1.99526231e+07 2.75422870e+07 3.80189396e+07 5.24807460e+07 7.24435960e+07]
이 예제에서는 endpoint=False로 설정했기 때문에, stop 값인 10⁸ 자체는 결과 배열에 포함되지 않습니다. 또한 num을 지정하지 않아 기본값인 50개의 요소가 생성된 것을 확인할 수 있습니다.
예제 2: base 변경하기
이번에는 다른 예제를 통해 밑(base) 값을 바꿔보겠습니다.
# numpy 임포트
import numpy as np
# logspace() 함수 사용
x = np.logspace(start = 2, stop = 4, num = 4, base = 3.0)
print ("logspace of X :\n", x)출력 결과
위 코드는 다음과 같은 결과를 생성합니다.
logspace of X : [ 9. 18.72075441 38.9407384 81. ]
여기서는 num=4로 지정했기 때문에 start와 stop 사이에 단 4개의 요소만 생성됩니다. 또한 기본값인 10.0 대신 밑을 3.0으로 설정했으므로, 결과는 3² = 9부터 3⁴ = 81까지 로그 간격으로 배치된 값들입니다.
마무리
numpy.logspace는 로그 스케일 기반의 균등 간격 배열을 만들 때 유용한 함수입니다. 특히 지수 범위의 샘플링이 필요한 경우나 로그 축 그래프를 그릴 때 linspace보다 훨씬 편리하게 사용할 수 있습니다. 매개변수 조합을 다양하게 실험해 보면서 원하는 배열을 쉽게 만들어 보세요.