https://numpy.org/doc/stable/reference/generated/numpy.linspace.html
numpy.linspace는 균일하게 나누고자 할 때 사용하는 함수입니다.
Parameters부터 살펴봅시다.
우선 Default로 parameter가 어떻게 설정되었는지 살펴보고 각 parameter에 대해 살펴봅시다.
Default : numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None, axis=0)
혹시 모를 분들을 위해 약간을 첨부하자면 parameter에서 default로 설정되어 있는 값들은 이미 초기값이 존재한다고 가정하기 때문에 굳이 설정할 필요가 없습니다. 그래서 parameter에서 optional이라는 단어가 선택해도 되고 그렇지 않아도 된다는 의미입니다.
여기서는 start와 stop을 제외한 모든 parameter가 default의 초기값이 설정되어 있음을 확인할 수 있습니다.
1. start : array_like
시작하는 값을 설정하는 곳으로 반드시 설정해야하는 부분입니다.
단일 숫자 혹은 array가 들어가는 곳입니다.
2. stop: array_like
끝나는 값을 설정하는 곳으로 반드시 설정해야하는 부분입니다.
단일 숫자 혹은 array가 들어가는 곳입니다.
주의 : array로 넣는다면 start와 dimension이 같아야합니다.
3. num : int, optional
선택이 가능한 곳으로 default로 50이 되어있습니다.
이 부분은 시작부터 끝에 해당하는 간격을 통해 몇 개로 나눌 것인가를 선택하는 부분입니다.
4. endpoint : bool, optional
선택이 가능한 곳으로 default로 True로 정해져 있습니다.
이 부분은 끝에 해당하는 값을 간격의 마지막에 넣을 것인가를 선택하는 부분입니다.
5. retstep : bool, optional
선택이 가능한 곳으로 default로 False로 정해져 있습니다.
이 부분은 어느 정도의 간격으로 나눠졌는지를 확인하고 싶을 때 사용하는 parameter입니다.
이 부분을 통해 Return값 중 step에 해당하는 부분을 output으로 생성됨을 확인할 수 있습니다.
6. dtype : dtype, optional
output array type을 설정하는 부분입니다. 보통 input parameter에 맞춰 type이 설정되지만 이 부분도 우리가 임의로 설정할 수 있는 parameter입니다.
7. axis : int, optional
start와 stop이 array의 형태일 때 유용하게 사용할 수 있는 parameter로 axis에 따라 간격의 배분을 달리 설정할 수 있습니다.
각 Parameter를 어떻게 설정하는지에 따라 다른 결과를 보일 수 있음을 보이는 예시를 만들어 보았습니다.
혹여 문제가 된다고 생각한다면 아래 댓글에 적어주세요 ^^
여기까지가 linspace와 관련된 내용이었습니다.
사실 간격을 나누는 것은 굳이 이 방식이 아니어도 다른 방법이 많습니다. 내장 함수만으로도 구현할 수도 있지요. 그럼에도 array를 다룰 때 numpy를 이용한다는 것이 계산의 속도를 빠르게 한다는 장점 때문에 많은 코드들에서 사용하는 것 같습니다.
여기까지 모르는 내용이 있으면 아래 댓글이나 쪽지를 남겨주세요.
그럼 이만^^