numpy 에서 배열을 편하게 생성할 수 있도록 하는
arange, zeros, ones 함수에 대해 알아보겠다.
array를 연속값이나 0 또는 1로 초기화 해서 쉽게 생성 해야 할 때가 있다.
(주로 테스트용으로 데이터를 만들거나
대규모의 데이터를 일괄적으로 초기화 할 때 사용 될 수 있다.)
이때 arange( ), zeros( ), ones( ) 를 이용해서 쉽게 array를 생성한다.
arange
arange ( ) 함수는 0 부터 함수 인자 값 -1 까지의 값을 순차적으로 array로 변환한다.
number_array = np.arange(20) print(number_array) print(number_array.dtype, number_array.shape)
[output]
[ 0 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19] int32 (20,)
예제처럼 arange 를 사용하면 원하는 숫자 법위, 숫자 간격에 따라 배열을 생성할 수 있다.
이는 파이썬 표준 함수인 range( ) 와 유사한 기능이다.
zeros
zeros( ) 함수는 shape 값을 입력하면 모든 값을 0 으로 채워진 array 를 반환한다.
zero_array = np.zeros((4,2), dtype = 'int32') print(zero_array) print(zero_array.dtype, zero_array.shape)
[output]
[[0 0] [0 0] [0 0] [0 0]] int32 (4, 2)
ones
ones( ) 함수는 shape 값을 입력하면 모든 값을 1 로 채워진 array 를 반환한다.
one_array = np.ones((4,2)) print(one_array) print(one_array.dtype, zero_array.shape)
[output]
[[1. 1.] [1. 1.] [1. 1.] [1. 1.]] float64 (4, 2) #dtype을 정해주지 않으면 default 로 float64 로 채워줌
실제로 어떻게 사용?
인덱시스를 추가해야 할 경우에 for 반복문으로 데이터에 인덱스를 부여하는것 보다
numpy arange( ) 를 통해서 한번에 배열을 추가 하는것이 더 효과적이다.
zeros( ) 와 ones( ) 함수로 레이블링을 해줄 수 있고
테스트용 데이터를 생성하거나 방대한 데이터를 일괄적으로 초기화 할때
사용할 수 있다.
Reference
1. https://nov19.tistory.com/103
Numpy 배열 생성 방법(arange, zeros, ones, random)
arange() - 파이썬의 range와 같음 np.arange(숫자) np.arange(최저값, 최고값, 스텝) 리스트와 다르게 소수를 step으로 할 수 있음 np.arange(0, 5, 0.5) np.arange(20).reshape(4,5) zeros() - 모든 요소가 0인..
nov19.tistory.com
2. 파이썬 머신러닝 완벽가이드 위키북스 데이터 사이언스 시리즈
'Python' 카테고리의 다른 글
python 으로 csv 파일 합치기 (0) | 2022.01.04 |
---|---|
Numpy 인덱싱 (indexing) (0) | 2022.01.03 |
Numpy.reshape ( -1 ) (0) | 2022.01.02 |
Numpy.reshape (0) | 2021.12.28 |
Numpy.ndarray (0) | 2021.12.26 |