>  기사  >  백엔드 개발  >  Numpy 배열 할당 이해: 새 메모리는 언제 할당됩니까?

Numpy 배열 할당 이해: 새 메모리는 언제 할당됩니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-22 09:34:301002검색

Understanding Numpy Array Assignment: When is New Memory Allocated?

복사를 통한 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.