준비하는 대학생

[python] Numpy 기초 지식 공부(arange, linspace) 본문

Programming/Machine learning

[python] Numpy 기초 지식 공부(arange, linspace)

Bangii 2023. 3. 7. 17:03

넘파이 자동완성 함수

list에 있는 range() 함수처럼 넘파이에서도 특정구간의 숫자 배열을 생성하는 함수가 존재한다.

대표적으로 arange 와 linspace 함수가 존재하는데 arrange함수부터 알아보자.

 

Arange 함수

arange 함수는 아래와 같은 구문을 따른다.

numpy.arange([start, ]stop, [step, ]dtype=None)
  • start: 선택적 인자이며, 생성할 배열의 시작 값 (기본값: 0)
  • stop: 생성할 배열의 끝 값 (이 값은 배열에 포함되지 않는다.)
  • step: 선택적 인자이며, 생성할 배열의 값 간격 (기본값: 1)
  • dtype: 선택적 인자이며, 생성할 배열의 데이터 타입 (기본값: None, NumPy는 데이터 타입을 자동으로 결정한다.)

예를 들어, 0부터 9까지의 정수 배열을 생성하려면 다음과 같이 arrange() 함수를 호출할 수 있다.

import numpy as np

my_array = np.arange(0, 10)
print(my_array)  # [0 1 2 3 4 5 6 7 8 9]

arange() 함수는 시작 값, 끝 값, 간격을 지정하여 다양한 배열을 생성할 수 있다.

또한, arange() 함수는 부동 소수점 타입으로 배열을 생성할 수도 있다.

예를 들어, 0.1부터 1까지의 부동 소수점 타입의 배열을 생성하려면 다음과 같이 dtype 인자를 지정할 수 있다.

my_array = np.arange(0.1, 1, 0.1, dtype=np.float64)
print(my_array)  # [0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9]

이처럼 NumPy의 arange() 함수는 지정된 범위 내에서 일정한 간격으로 배열을 생성한다.

 

Linspace

 

linspace() 함수의 구문은 다음과 같다.

numpy.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None)
 
  • start: 시작값
  • stop: 끝값
  • num: 선택적인자이며, 생성할 데이터 개수 (기본값: 50)
  • endpoint: 선택적인자이며, 마지막 값이 번뮈에 포함되는지 여부 (기본값: True)
  • restep: 선택적인자이며, 간격을 반환할지 여부 (기본값: False)
  • dtype: 선택적 인자이며, 생성될 배열의 데이터 타입 (기본값: None)

예를 들어, 0부터 10까지의 범위에서 5개의 데이터를 생성하고 싶다면, 다음과 같이 linspace() 함수를 사용할 수 있다.

 
import numpy as np
my_array = np.linspace(0, 10, num=5)
print(my_array)  # [ 0. 2.5 5. 7.5 10. ]

 

이 경우, linspace() 함수는 0부터 10까지의 범위에서 5개의 데이터를 생성하며, 이 데이터들은 균등한 간격으로 배치된다. retstep 인자를 True로 설정하면, 생성된 간격도 함께 반환된다. ( 위 예에서는 2.5가 반환될 것이다.)

 
my_array, step = np.linspace(0, 10, num=5, retstep=True) 
print(my_array)  # [ 0. 2.5 5. 7.5 10. ] print(step)  # 2.5

 

 

NumPy 라이브러리의 linspace() 함수는 지정된 범위 내에서 균등하게 간격을 두고 원하는 개수만큼의 데이터를 생성하여 배열로 반환한다. 즉, arange() 함수와 비슷한 기능을 하지만, 두 값 사이의 간격을 명시적으로 지정하는 대신 생성할 데이터의 개수를 지정한다.

Comments