NumPy 로 균등하게 간격이 떨어진 숫자 생성하기

Beginner

소개

이 튜토리얼에서는 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() 함수의 사용법을 시연했습니다. 구문, 다양한 매개변수 및 다양한 예시를 다루었습니다. 이 지식을 통해 이제 균등하게 간격이 떨어진 배열을 빠르고 효율적으로 생성할 수 있습니다.