array를 생성하기 위한 함수들을 알아보자. 배열을 직접 입력하기에는 어려움이 있다. 다차원 배열들은 array 생성 함수로 생성하면 시간을 단축 할 수 있다.
1. arange
- 인자로 배열의 크기를 입력해야한다.
- 0부터 크기만큼 1씩 더하는 데이터 값들이 생성된다.
소스 코드
import numpy as np
# 1.arange
arange_array = np.arange(5) # 배열의 크기를 입력
print(arange_array)
-결과를 보면 0부터 배열의 크기(5) 까지 +1 씩 더해서 생성하는 것을 확인 할 수 있다.
print 결과
[0 1 2 3 4]
2. zeros
- 인자로 shape와 dtype을 입력 할 수 있다.
- 결과는 0이 들어가 있는 배열을 생성한다.
소스 코드
# 2.zeros
# (shape, dtpe) 의 인자를 받을 수 있다.
# 2차원
zeros_array2 = np.zeros((3, 4), dtype='int32')
print(zeros_array2)
print("zeros_array의 타입 :", zeros_array2.dtype)
print("zeros_array의 shape :", zeros_array2.shape)
-결과를 보면 모두 0이 들어가 있는 (3,4) shape의 배열이 생성 되었다. 물론 type 도 int32로 확인 된다.
print 결과
[[0 0 0 0]
[0 0 0 0]
[0 0 0 0]]
zeros_array의 타입 : int32
zeros_array의 shape : (3, 4)
- shape에다가 3차원 배열을 추가 하더라도 물론 생성된다. 이번에는 타입을 추가 하지 않았다.
소스 코드
# 3차원
zeros_array3 = np.zeros((2, 3, 4))
print(zeros_array3)
print("zeros_array의 타입 :", zeros_array3.dtype)
print("zeros_array의 shape :", zeros_array3.shape)
- 타입이 없는 경우에는 default로 float64 데이터 타입을 가지게 된다.
print 결과
[[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]
[[0. 0. 0. 0.]
[0. 0. 0. 0.]
[0. 0. 0. 0.]]]
zeros_array의 타입 : float64
zeros_array의 shape : (2, 3, 4)
3. ones
- zeros와 동일하다. 하지만, 모든 데이터 값이 1일 들어간다.
소스 코드
# 3.ones
ones_array = np.ones((3, 4), dtype='int32')
print(ones_array)
print("ones_array의 타입 :", ones_array.dtype)
print("ones_array의 shape :", ones_array.shape)
print 결과
[[1 1 1 1]
[1 1 1 1]
[1 1 1 1]]
ones_array의 타입 : int32
ones_array의 shape : (3, 4)
4. empty
- empty의 생성 방법은 위의 ones, zeros와 동일하다.
- 주의 해야할 점은 데이터 초기화가 없기 때문에 예상할 수 없는 데이터들이 들어가 있습니다.
소스 코드
# 4.empty
empty_array = np.empty(shape=(10,), dtype=np.int8)
print(empty_array)
print("empty_array의 타입 :", empty_array.dtype)
print("empty_array의 shape :", empty_array.shape)
print 결과
[109 101 110 116 97 116 105 111 110 32]
empty_array의 타입 : int8
empty_array의 shape : (10,)
'머신러닝 > 넘파이' 카테고리의 다른 글
[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(2) - 팬시 인덱싱 (0) | 2021.08.23 |
---|---|
[Numpy] ndarray 인덱싱(Indexing) 종류와 사용방법(1) - 단일 값 추출, 슬라이싱 (0) | 2021.08.22 |
[Numpy] ndarray 크기 변경 reshape() (0) | 2021.08.21 |
[Numpy] ndarray 의 axis 축 개념 및 소스 코드 예제 (0) | 2021.08.10 |
[Numpy] ndarray 생성 및 사용 방법 (0) | 2021.08.09 |