SeouliteLab

[Python/파이썬] Numpy의 numpy.linspace() 함수를 사용하여 동일 간격 숫자 배열 생성하기 본문

프로그래밍

[Python/파이썬] Numpy의 numpy.linspace() 함수를 사용하여 동일 간격 숫자 배열 생성하기

Seoulite Lab 2024. 3. 1. 23:32

Numpy의 numpy.linspace() 함수는 시작과 끝 사이의 범위에서 지정된 수의 요소를 가진 동일 간격의 배열을 생성하는 데 사용됩니다. 이 함수는 데이터 시각화나 수학적 모델링에서 자주 사용됩니다.

예제 1: 기본적인 사용법

import numpy as np

arr = np.linspace(0, 10, num=5)
print(arr)  # 출력 결과: [ 0.   2.5  5.   7.5 10. ]

위의 예제에서는 0부터 10까지의 범위에서 5개의 요소를 가진 배열을 생성합니다. 각 요소는 동일한 간격으로 배치됩니다.

예제 2: 간격 조절

import numpy as np

arr = np.linspace(0, 10, num=5, endpoint=False)
print(arr)  # 출력 결과: [0. 2. 4. 6. 8.]

이 예제에서는 마지막 요소를 범위에서 제외하여 0부터 10까지의 범위에서 동일한 간격으로 5개의 요소를 생성합니다.

예제 3: 정수 요소 생성

import numpy as np

arr = np.linspace(0, 10, num=6, dtype=int)
print(arr)  # 출력 결과: [ 0  2  4  6  8 10]

이 예제에서는 요소의 데이터 유형을 정수로 설정하여 0부터 10까지의 범위에서 동일한 간격으로 6개의 정수 요소를 생성합니다.

예제 4: 로그 스케일 배열 생성

import numpy as np

arr = np.linspace(1, 100, num=5)
log_arr = np.log(arr)
print(log_arr)  # 출력 결과: [0.         1.60943791 2.30258509 2.83321334 3.21887582]

이 예제에서는 1부터 100까지의 범위에서 동일한 간격으로 5개의 요소를 생성한 후, 각 요소에 대해 로그를 적용하여 새로운 배열을 생성합니다.

예제 5: 특정 간격 설정

import numpy as np

arr = np.linspace(0, 10, num=9, endpoint=False, retstep=True)
print(arr)  # 출력 결과: (array([0.        , 1.11111111, 2.22222222, 3.33333333, 4.44444444, 5.55555556, 6.66666667, 7.77777778, 8.88888889]), 1.1111111111111112)

이 예제에서는 간격을 수동으로 설정하여 0부터 10까지의 범위에서 동일한 간격으로 9개의 요소를 생성합니다. 결과에는 배열과 간격이 포함됩니다.

예제 6: 배열의 모양 조절

import numpy as np

arr = np.linspace(0, 10, num=12).reshape(3, 4)
print(arr)
# 출력 결과:
# [[ 0.          0.90909091  1.81818182  2.72727273]
#  [ 3.63636364  4.54545455  5.45454545  6.36363636]
#  [ 7.27272727  8.18181818  9.09090909 10.        ]]

이 예제에서는 0부터 10까지의 범위에서 동일한 간격으로 12개의 요소를 생성한 후에 3x4 행렬로 모양을 변경합니다.