소개
이 튜토리얼에서는 NumPy 라이브러리의 numpy.linspace() 함수 사용법을 다룹니다. 이 함수는 지정된 간격 내에서 균등하게 간격을 둔 숫자를 생성하는 데 사용됩니다. numpy.arange() 함수와 유사하지만, 단계 크기 대신 num 인수를 사용하여 간격 사이의 균등하게 간격을 둔 값의 수를 지정한다는 차이점이 있습니다.
VM 팁
VM 시작이 완료되면, 왼쪽 상단을 클릭하여 Notebook 탭으로 전환하여 실습을 위해 Jupyter Notebook에 접근하십시오.
때로는 Jupyter Notebook 이 로딩을 완료하는 데 몇 초 정도 기다려야 할 수 있습니다. Jupyter Notebook 의 제한으로 인해 작업의 유효성 검사는 자동화될 수 없습니다.
학습 중 문제가 발생하면 언제든지 Labby 에게 문의하십시오. 세션 후 피드백을 제공해주시면 문제를 신속하게 해결해 드리겠습니다.
구문 이해
numpy.linspace() 함수의 구문은 다음과 같습니다.
numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
이 함수는 다양한 매개변수를 받습니다.
- start: 간격의 시작 값입니다.
- stop: 간격의 종료 값입니다.
- num: 생성될 간격 내의 균등하게 간격을 둔 샘플의 수입니다. 기본값은 50 입니다.
- endpoint: 간격의 끝점을 포함할지 여부를 나타내는 부울 값입니다. True 이면 끝점이 포함됩니다. False 이면 제외됩니다. 기본값은 True 입니다.
- retstep: 단계 값, 즉 연속된 숫자 사이의 간격을 반환할지 여부를 나타내는 부울 값입니다. 기본값은 False 입니다.
- dtype: 배열 항목의 데이터 유형입니다.
linspace() 를 사용하여 배열 생성
numpy.linspace()를 사용하여 배열을 생성하려면 시작 값, 종료 값 및 원하는 샘플 수를 전달하기만 하면 됩니다. 다음은 예시입니다.
import numpy as np
a = np.linspace(0, 10, num=11)
print(a)
이 코드의 출력 결과는 다음과 같습니다.
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
종료점 제외
끝점을 제외하려면 endpoint 매개변수를 False로 설정하면 됩니다. 다음은 예시입니다.
b = np.linspace(0, 10, num=10, endpoint=False)
print(b)
이 코드의 출력 결과는 다음과 같습니다.
[0. 1. 2. 3. 4. 5. 6. 7. 8. 9.]
단계 값 반환
linspace()에 의해 생성된 연속적인 숫자 사이의 단계 또는 간격 값을 반환하려면 retstep 매개변수를 True로 설정합니다. 다음은 예시입니다.
c, step = np.linspace(0, 10, num=11, retstep=True)
print(c)
print(step)
이 코드의 출력 결과는 다음과 같습니다.
[ 0. 1. 2. 3. 4. 5. 6. 7. 8. 9. 10.]
1.0
Linspace() 를 사용한 플로팅
linspace()를 matplotlib와 함께 사용하여 그래프를 플롯할 수 있습니다. 다음은 예시입니다.
import matplotlib.pyplot as plt
x = np.linspace(0, 2*np.pi, 100)
y = np.sin(x)
plt.plot(x, y)
plt.show()
이 코드의 출력 결과는 간단한 사인파 플롯입니다.
비 스칼라 값 사용
NumPy 의 최신 버전부터 linspace()는 시작 (start) 및 끝 (end) 매개변수의 비 스칼라 값을 지원합니다. 다음은 예시입니다.
start = np.array([0, 1, 2])
end = np.array([6, 7, 8])
d = np.linspace(start, end, num=5, axis=1)
print(d)
이 코드의 출력 결과는 다음과 같습니다.
[[0. 1.5 3. 4.5 6. ]
[1. 2.5 4. 5.5 7. ]
[2. 3.5 5. 6.5 8. ]]
요약
이 튜토리얼에서는 NumPy 라이브러리의 numpy.linspace() 함수의 사용법을 시연했습니다. 구문, 다양한 매개변수 및 다양한 예시를 다루었습니다. 이 지식을 통해 이제 균등하게 간격이 떨어진 배열을 빠르고 효율적으로 생성할 수 있습니다.