본문 바로가기

Programming Language/NumPy

Shallow Copy v.s. Deep Copy

넘파이 배열을 사용하다보면 변수를 지정하는 방법에 따라,
변수에 저장된 값이 변동이 되는 경우와 되지 않는 경우로 나뉜다.

기본 적으로 특정 ndarray를 가리키는 변수를 다른 변수에 대입하게 되면,
2개의 다른 변수가 하나의 ndarray를 가리키게 되는데, 이 대입을 하는 방식에서
얕은 복사(Shallow Copy)와 깊은 복사(Deep Copy)의 2가지 형태로 나뉠 수 있다.

배열의 shape을 바꾸거나 슬라이싱을 할경우 원본 ndarray의 데이터를 공유하는
새로운 ndarray 객체를 생성하는데, 우리는 이를 보고 얕은 복사라고한다.

만약 원본 ndarray와 값을 공유하지 않고 별도의 객체 메모리를 가지고 싶다면,
.copy() 메소드를 사용하도록 한다.

'Programming Language > NumPy' 카테고리의 다른 글

넘파이 배열(ndarray)이란?  (0) 2020.07.28
NumPy 이란?  (0) 2020.04.20