Appia의 IT세상

파이썬[Python] 055 수의 범위을 바탕으로 배열을 생성하는 방법(arrange, linspace, logspace) - Numpy008 본문

Python/Python Numpy

파이썬[Python] 055 수의 범위을 바탕으로 배열을 생성하는 방법(arrange, linspace, logspace) - Numpy008

Appia 2020. 3. 3. 08:12
반응형

이번 포스팅을 수의 범위를 바탕으로 배열을 생성하는 방법에 대해서 이야기를 드리고자 합니다. 파이썬[Python]의 넘파이(Numpy)는 배열이 중심이다 보니, 자연스럽게 배열에 관련된 이야기를 할 수 밖에 없습니다. 그 중에 이 부분은 나름 유용하게 사용될 수 있는 부분이기 때문에 포스팅 드리고자 합니다. 크게 3가지 함수 arrange, linspace, logspace를 바탕으로 이야기를 하고자 합니다. 

 

numpy.arrange

가장 쉬우면서 가장 보편적으로 많이 사용하는 함수가 아닐까 합니다. 시작값, 종료 값, 각 스텝의 차이등을 이용하여 나타내는 방식입니다. 다음 형식을 보겠습니다. 

 

numpy.arange(start, stop, step, dtype)

 

start - 시작값, 만약 입력이 없다면 0으로 시작합니다.

stop - 범위의 끝, stop 값은 포함 되지 않습니다.

steop - 값들 사이의 범위 값, 기본 값은 1입니다. 

dtype - 생성된 배열에 데이터 타입, 입력하지 않으면, 입력하시는 값의 데이터 타입을 사용합니다. 

 

다음 예제를 살펴보겠습니다. 

1
2
3
import numpy
= numpy.arange(10,20,2)
print(x)
cs

 

위의 예제를 실행하면 다음과 같은 결과가 나옵니다. 

1
[10 12 14 16 18]
cs

 

numpy.linspace

이 함수는 위의 numpy.arrange와 비슷하나, step 대신 배열에 생성될 맴버의 갯수로 각 값의 편차로 배열을 생성해줍니다. 

 

numpy.linspace(start, stop, num, endpoint, retstep, dtype)

 

start - 시작 값입니다. 

stop - 값의 마지막 값입니다. 단, endpoint가 True이면 포함되고, False이면 포함되지 않습니다. 

num - 배열 맴버의 개수입니다. 기본 값은 50입니다. 

endpoint - stop 값을 포함 여부를 확인하는 것입니다. True - 포함, Fasle -미포함

restep - True, 배열과 스텝값 추출됩니다. 

dtype - 배열의 데이터 타입 입니다. 

 

다음 예제를 살펴보겠습니다. 

1
2
3
import numpy
= numpy.linspace(10,205, endpoint = False)
print(x)
cs

 

위의 예제를 실행하면 다음과 같은 결과가 나옵니다. 

1
[10. 12. 14. 16. 18.]
cs

 

그럼 restep를 사용한 예제를 살펴보겠습니다. 

1
2
3
import numpy
= numpy.linspace(1,2,5, retstep = True) 
print(x)
cs

 

다음과 같은 결과가 나옴을 확인할 수 있습니다. retstep을 이용하여 배열과 step값을 별도로 추출하였습니다. 

1
(array([1.  , 1.251.5 , 1.752.  ]), 0.25)
cs

 

numpy.logspace

이름 그대로 로그 스케일 값으로 배열을 만드는 함수입니다. 개인적으로 수학을 썩 좋아하지는 않지만, 은근 로그 스케일 계산해야하는 경우도 있고 합니다. 관련된 부분입니다. 

 

numpy.logspace(start, stop, num, endpoint, base, dtype)

 

start - 시작 값입니다.

stop - 값의 마지막 값입니다. 단, endpoint가 True이면 포함되고, False이면 포함되지 않습니다. 

num - 배열 맴버의 개수입니다. 기본 값은 50입니다. 

endpoint - stop 값을 포함 여부를 확인하는 것입니다. True - 포함, Fasle -미포함

base - Log 값의 베이스 값입니다. 미입력시 기본값 10으로 설정됩니다. 

dtype - 배열의 데이터 타입 입니다. 

 

그럼 예제를 살펴보겠습니다. 

1
2
3
import numpy
= numpy.logspace(1,10,num = 10, base = 2
print(x)
cs

2를 베이스를 하는 로그 스페이스를 바탕으로 한 배열을 다음과 같이 생성해줍니다. 

1
[   2.    4.    8.   16.   32.   64.  128.  256.  512. 1024.]
cs

 

오늘은 3가지 함수를 이용하여 수의 범위를 활용한 배열 생성하는 방법에 대해서 살펴봤습니다. 이 방법이 매우 유용하게 사용될 수 있다고 생각합니다. 혹 궁금하시거나 문의 사항 있으시면 언제든지 댓글 및 방명록에 글 부탁드립니다. 

반응형
Comments