상세 컨텐츠

본문 제목

05. 배열 생성-2

데이터 분석/넘파이

by 알파고제로 2023. 11. 6. 17:26

본문

■ 배열의 생성

함수 설명
np.zeros(shape, dtype=float, order='C') 지정된 shape의 배열을 생성하고, 모든 요소를 0으로 초기화
np.ones(shape, dtype=None, order='C') 지정된 shape의 배열을 생성하고, 모든 요소를 1로 초기화
np.full(shape, fill_value, dtype=None, order='C') 지정된 shape의 배열을 생성하고, 모든 요소를 지정한 "fill_value"로 초기화
np.empty(shape, dtype=float, order='C') 지정된 shape의 배열 생성
요소의 초기화 과정에 없고, 기존 메모리 값을 그대로 사용
배열 생성비용이 가장 저렴하고 빠름
배열 사용 시 주의가 필요(초기화를 고려)
like 함수
 
기존의 배열과 shape이 같은 배열을 생성
np.zeros_like
np.ones_like
np.full_like
np.empty_like
np.linspace(start, stop, num=50, endpoint=True, retstep=False, dtype=None) start부터 stop의 범위에서 num개를 균일한 간격으로 데이터를 생성하고 배열을 만드는 함수
요소 개수를 기준으로 균등 간격의 배열을 생성
np.identity(N, M=None, k=0, dtype=<class 'float'>)
np.eye(N, M=None, k=0, dtype=<class 'float’>)

지정한 (N, N) shape정방 단위 행렬(Unit Matrix)을 생성
단위 행렬은 주 대각선의 원소가 모두 1이며 나머지 원소는 모두 0정사각 행렬이다.
eye() 함수는 행과 열의 크기가 다른 단위 행렬을 만들 수 있다.

 

■ 배열의 변경

속성명 의미
np.reshape() 원본을 변경하지 않고, Array shape의 크기를 변경함 (대상 배열의 요소 개수가 동일하지 않으면 오류발생)
Array size만 같다면 다차원으로 자유로이 변형가능
np.resize() reshape()과 기능은 동일하며, 원본이 수정된다.
(대상 배열의 요소의 개수가 원래 배열과 동일하지 않으면 크기를 강제로 조정하지만 오류 발생하지 않는다.)
np.flatten() 다차원 Array1차원으로 변경.
배열을 복사해서 1차원으로 변경하므로 원본에 영향을 미치지 않는다.
ravel()에 비해 상대적으로 느리다.
np.ravel() 다차원 Array1차원으로 변경. 원본의 값이 수정
복사하는 것이 아니므로 메모리 낭비가 없다.
np.expand_dims(배열, axis=n) 차원을 늘리는 함수
np.astype(type) 배열 타입 변환
np.concatenate() 이상의 배열을 연결. 이 함수를 실행하려면 두 배열의 차원수가 같아야 한다.
axis옵션을 이용하면 연결 방향을 정할 수 있다.



'데이터 분석 > 넘파이' 카테고리의 다른 글

06. 배열의 연산-1  (0) 2023.11.07
04. Python List vs Numpy Array  (0) 2023.11.06
03. 축(axis)의 개념  (0) 2023.11.06

관련글 더보기

댓글 영역