"일꾼이 일을 잘하려면 먼저 도구를 갈고 닦아야 한다." - 공자, 『논어』.
첫 장 > 프로그램 작성 > NumPy 배열 할당 시 추가 메모리는 언제 할당됩니까?

NumPy 배열 할당 시 추가 메모리는 언제 할당됩니까?

2024-11-03에 게시됨
검색:909

When Is Additional Memory Allocated in NumPy Array Assignment?

Numpy 배열 할당: 메모리 할당 차이

NumPy에서는 배열에 값을 할당하는 세 가지 일반적인 방법이 있습니다.

  • B = A
  • B[:] = A
  • numpy.copy(B, A)

B = A

B = A를 사용하면 새 배열을 생성하지 않습니다. 대신 새 이름(B)을 기존 배열(A)에 바인딩합니다. 결과적으로 한 배열에 대한 모든 수정 사항은 다른 배열에 반영됩니다.

B[:] = A

이 구문은 다음을 사용하여 새 배열 B를 생성합니다. A와 동일한 차원 및 값. 원래 배열 A는 수정되지 않습니다. 이 방법은 numpy.copy에 비해 메모리 할당이 덜 필요합니다.

numpy.copy(B, A)

이 방법은 작성한 대로 합법적이지 않습니다. B = numpy.copy(A)여야 합니다. numpy.copy는 A와 동일한 크기와 값을 가진 새 배열 B를 생성합니다. 이 방법은 원래 배열에서 데이터의 별도의 물리적 복사본을 생성하기 때문에 B[:] = A에 비해 더 많은 메모리 할당이 필요합니다.

추가 메모리는 언제 할당됩니까?

numpy.copy를 사용하여 배열의 새로운 물리적 복사본을 생성하면 추가 메모리가 할당됩니다. 복사된 데이터에 연속된 새로운 메모리 블록을 할당하기 때문입니다.

메모리가 할당되지 않는 경우는 언제입니까?

B = A를 사용하면 메모리가 할당되지 않습니다. 왜냐하면 단순히 원래 배열의 이름을 바꾸는 것이기 때문입니다. B[:] = A를 사용하면 원래 배열과 동일한 메모리 위치를 재사용하므로 메모리가 할당되지 않습니다.

릴리스 선언문 이 글은 1729560494에서 재인쇄되었습니다. 침해 내용이 있는 경우, [email protected]으로 연락하여 삭제하시기 바랍니다.
최신 튜토리얼 더>

부인 성명: 제공된 모든 리소스는 부분적으로 인터넷에서 가져온 것입니다. 귀하의 저작권이나 기타 권리 및 이익이 침해된 경우 자세한 이유를 설명하고 저작권 또는 권리 및 이익에 대한 증거를 제공한 후 이메일([email protected])로 보내주십시오. 최대한 빨리 처리해 드리겠습니다.

Copyright© 2022 湘ICP备2022001581号-3