Numpy 기초를 공부하면서 linspace와 arange 함수가 헷갈려서 이를 잘 정리해준 Statology의 영문글을 기계 번역하여 포스팅합니다.
(원본: https://www.statology.org/numpy-linspace-vs-arange/)
NumPy: np.linspace와 np.arange의 차이점
값들의 순차열을 생성할 때, np.linspace와 np.arange는 두 가지 자주 사용되는 NumPy 함수입니다.
다음은 두 함수 사이의 미묘한 차이점입니다:
linspace는 단계의 개수를 지정할 수 있습니다.
arange는 단계의 크기를 지정할 수 있습니다.
다음 예제들은 각 함수를 어떻게 사용하는지를 보여줍니다.
예제 1: np.linspace 사용 방법
np.linspace() 함수는 다음과 같은 기본 구문을 사용합니다:
np.linspace(start, stop, num, …)
여기서:
start: 순차열의 시작 값
stop: 순차열의 끝 값
num: 생성할 값의 개수
다음 코드는 0과 20 사이에 균등하게 나누어진 11개의 값을 생성하는 np.linspace() 사용 예제입니다:
import numpy as np
# 0과 20 사이에 균등하게 나누어진 11개의 값 생성
np.linspace(0, 20, 11)
결과는 0과 20 사이에 균등하게 나누어진 11개의 값으로 이루어진 배열입니다.
np.linspace() 메서드를 사용하면 값들을 얼마나 간격을 두고 나눌지 자동으로 결정합니다.
예제 2: np.arange 사용 방법
np.arange() 함수는 다음과 같은 기본 구문을 사용합니다:
np.arange(start, stop, step, …)
여기서:
start: 순차열의 시작 값
stop: 순차열의 끝 값
step: 값들 간의 간격
다음 코드는 간격이 2인 0부터 20까지의 값들의 순차열을 생성하는 np.arange() 사용 예제입니다:
import numpy as np
# 간격이 2인 0부터 20까지의 값들의 순차열 생성
np.arange(0, 20, 2)
결과는 0부터 20까지의 값들의 순차열로, 값들 간의 간격은 2입니다.
np.arange() 메서드를 사용하면 생성할 값의 개수를 자동으로 결정합니다.
만약 다른 간격 (예: 4)을 사용한다면, np.arange()는 자동으로 생성할 값의 총 개수를 조정할 것입니다:
import numpy as np
# 간격이 4인 0부터 20까지의 값들의 순차열 생성
np.arange(0, 20, 4)
결과는 0부터 20까지의 값들의 순차열로, 값들 간의 간격은 4로 조정됩니다.
추가 자료
다음 자료들은 파이썬에서 다른 일반적인 작업들을 어떻게 수행하는지 설명합니다.
NumPy 배열에 값 채우는 방법: https://www.statology.org/numpy-fill-array/
NumPy 배열에서 요소 교체하는 방법: https://www.statology.org/numpy-replace/
NumPy 배열에서 고유한 값 개수 세는 방법: https://www.statology.org/numpy-count-unique/