NumPy linspace 함수는 숫자로 된 시퀀스를 생성하는 툴로, NumPy arange 함수와 유사하지만, Numpy array 로 구성된 균등한 간격을 둔 시퀀스를 생성한다. 시작점과 종점을 정하고, 해당 간격내(시작점과 종점 포함)의 브레이크포인트의 총 갯수를 정하면, np.linspace 함수는 해당 간격내에 일정한 간격을 둔 브레이크포인트 갯수만큼의 시퀀스를 반환하게 된다. 간단하게 다음과 같은 경우를 생각해보자.
import numpy as np
np.linspace(start = 0, stop = 100, num = 5)
array([ 0., 25., 50., 75., 100.])
위 코드는 다음과 같은 Numpy Array (ndarray object) 를 생성한다. 해당 범위내에 num 인수에 상응하는 5개의 아이템이 존재한다.
0 | 25 | 50 | 75 | 100 |
위의 예에서 범위는 0 에서 시작해서 100 에서 끝난다. 그리고 5개의 브레이크포인트를 가진다. 첫번째 아이템은 0 이고, 마지막 아이템은 100이다. 나머지 3개의 아이템을 0 과 100 사이에 균등한 간격으로 분포시키면 된다.
Numpy linspace 구문은 다음과 같다.
np.linspace(start, stop, num, endpoint, dtype)
그리고 해당 함수에서 사용되는 파라메터는 다음과 같다.
start (required) - 범위의 시작값. start = 0 이면, 새로운 nd.array 의 첫번째 값은 0 이 된다.
stop (required) - 대부분의 경우 아웃풋의 마지막 값이 된다. 하지만 endpoint = False 로 지정하면 해당 stop 값은 포함되지 않게 된다.
num (optional) - 아웃풋 배열에 나오는 전체 아이템의 갯수. num = 5 이면, 아웃풋 배열에는 5개의 전체 아이템이 존재하게 된다. 선택사항으로 num 값을 넣지 않으면 np.linspace 는 기본값으로 num = 50 을 사용하게 된다.
endpoint (optional) - 아웃풋 배열에 stop 값이 포함될 것인지 여부. endpoint = True 이면 nd.arrary 의 마지막 값으로 stop 파라메터의 값이 들어가게 되고, 그렇지 않은 경우 stop 파라메터는 해당 아웃풋에 포함되지 않는다. 기본값은 True 이다. 다음과 같이 False 로 지정되면 stop 값인 5 는 결과 배열에 포함되지 않게 된다.
np.linspace(start = 1, stop = 5, num = 4, endpoint = False)
array([1., 2., 3., 4.])
dtype (optional) - 데이터 타입을 정하지 않으면 다른 파라메터의 값에 기반하여 데이터 타입을 추정한다. 만약 데이터 타입을 명시적으로 표현하고자 한다면, 다음을 참조하여 지정한다.
available data types from NumPy and base Python
np.linspace(start = 0, stop = 100, num = 5)
array([ 0., 25., 50., 75., 100.])
np.linspace(start = 0, stop = 100, num = 5, dtype = int)
array([ 0, 25, 50, 75, 100])
'프로그래밍 Programming' 카테고리의 다른 글
판다 데이터프레임 합치기 concat(), merge(), merge_asof() Joining DataFrames in Pandas (0) | 2020.08.08 |
---|---|
np.random.seed 란 무엇인가? (0) | 2020.08.08 |
아나콘다 환경 공유하기 Sharing an environment (0) | 2020.07.28 |
우분투 20.04에 아나콘다 파이썬 배포만 설치하기 How To Install the Anaconda Python Distribution on Ubuntu 20.04 (1) | 2020.07.08 |
라즈베리파이4 라즈비안 설치 및 SSH 셋업 (0) | 2020.05.04 |