복사를 통한 Numpy 배열 할당
소개
Numpy 배열을 다룰 때는 이것이 중요합니다. 할당이 데이터에 어떤 영향을 미치는지 이해합니다. 이 문서에서는 세 가지 할당 방법인 B = A, B[:] = A 및 numpy.copy(B, A)의 차이점을 살펴보고 추가 메모리가 할당될 때와 할당되지 않을 때를 다룹니다.
B = A
이 할당은 단순히 새 이름(B)을 기존 Numpy 객체(A)에 바인딩합니다. 두 이름 모두 동일한 객체를 참조하므로 하나에 대한 내부 수정이 다른 이름에도 반영됩니다. 추가 메모리는 할당되지 않습니다.
B[:] = A(B[:]=A[:]와 동일)
이 작업은 A의 값을 복사합니다. 기존 배열 B에 넣습니다. B와 A의 모양이 일치해야 합니다. 기존 B 배열을 재사용하기 때문에 추가 메모리가 할당되지 않습니다.
numpy.copy(B, A)
이 구문이 잘못되었습니다. 올바른 구문은 B = numpy.copy(A)이며, 이는 A의 복사본을 포함하는 새 배열을 생성합니다. 원래 B 배열은 재사용되지 않으므로 데이터를 복사하는 동안 추가 메모리가 할당됩니다.
numpy.copyto(B, A)
이 할당은 B[:] = A와 동일합니다. A의 값을 B로 복사하여 기존 데이터를 덮어씁니다. B에 충분한 공간이 있으면 추가 메모리가 할당되지 않습니다. 그렇지 않으면 새 배열이 생성되고 추가 메모리가 할당됩니다.
위 내용은 Numpy 배열 할당 이해: 새 메모리는 언제 할당됩니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!