지난 게시글에서 Numpy Array를 생성하는 몇 가지 함수에 대해 정리하였다. (zeros, ones, full, eye)
간단히 복습
np.zeros() : 모든 값이 0인 array 생성
np.ones() : 모든 값이 1인 array 생성
np.full() : 모든 값이 n인 array 생성
np.eye() : 우하향 대각선이 1인 n 크기의 정방형 array 생성
이번 게시글에선 np.arange(), np.reshape()을 예제로 실습해보며 익혀보자.
np.arange()
지정해준 범위에 대해 array를 생성한다. (Python range() 와 비슷하다.)
np.arange(시작, 끝, 간격, 데이터타입)을 parameter로 지정할 수 있다.
import numpy as np
array1=np.arange(4)
array2=np.arange(3,8)
array3=np.arange(2,20,5)
print(array1)
print(array2)
print(array3)
[0 1 2 3]
[3 4 5 6 7]
[2 7 12 17]
array1은 0~3까지의 1차원 배열이다.
array2는 3~7까지의 1차원 배열이다.
array3은 2~19까지 5씩 커지는 1차원 배열이다.
np.reshape()
이름에서 알 수 있듯이 모양을 다시 잡는다는 뜻으로 ndarray를 다차원으로 변형한다.
np.reshape(행,열)
array1=np.arange(10).reshape(2,5)
print(array1)
[[0 1 2 3 4]
[5 6 7 8 9]]
np.arange(10)으로 길이가 10인 배열을 만들고 바로 reshape(2,5)를 적용해서 2X5 2차원 배열로 변형했다.
array1=np.array([1,2,3,4,5,6]).reshape(2,3)
print(array1)
[[1 2 3]
[4 5 6]]
np.array([1,2,3,4,5,6])으로 1차원 배열을 만든 뒤 reshape(2,3)을 적용해서 2X3 2차원 배열로 변형했다.
ndarray이기만 하면 변형이 가능하다.
2차원 이상인 배열을 1차원으로 만드는 것도 가능할까?
array1=np.full((4,3),4)
print(array1)
print(array1.reshape(12,))
[[4 4 4]
[4 4 4]
[4 4 4]
[4 4 4]]
[4 4 4 4 4 4 4 4 4 4 4 4]
4로 이루어진 4X3 2차원 배열을 길이가 12인 1차원 배열로 변형했다.
즉, 고차원에서 저차원 배열로의 변형도 가능하다.
이렇게 zeros, ones, full, eye, arange, reshape 등 여러 가지 numpy array를 만드는 함수의 기본적인 사용법을 알아보았다.
다음엔 만든 Array를 다루는 방법들에 대해서 알아보자.
참고 URL
'Python > Numpy' 카테고리의 다른 글
| 3. ndarray 만드는 몇 가지 방법(zeros, ones, full, eye) (1) | 2021.08.05 |
|---|---|
| 2. nd.array() 함수로 Array(배열) 생성하기 (2) | 2021.08.05 |
| 1. Numpy 란 ? (1) | 2021.08.04 |

