본문 바로가기
Python

Numpy.arange, zeros, ones

by 코딩하는 미토콘드리아 bioinformatics 2021. 12. 26.
반응형

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