반응형
복사본을 포함한 Numpy 배열 할당
예를 들어, 만약 우리가.numpy
배열A
그리고 우리는 원합니다.numpy
배열B
동일한 요소로
다음 방법(아래 참조)의 차이점은 무엇입니까?언제 추가 메모리가 할당되고 언제 할당되지 않습니까?
B = A
B[:] = A
(와 동일)B[:]=A[:]
?)numpy.copy(B, A)
세 가지 버전 모두 다른 기능을 수행합니다.
B = A
새 이름을 바인딩합니다.
B
이미 이름이 지정된 기존 개체로A
나중에 동일한 개체를 참조하므로 한 개체를 수정하면 다른 개체에서도 변경 내용을 볼 수 있습니다.B[:] = A
(와 동일)B[:]=A[:]
?)그러면 다음 값이 복사됩니다.
A
기존 배열로B
이 기능이 작동하려면 두 배열의 모양이 같아야 합니다.B[:] = A[:]
같은 일을 합니다(하지만B = A[:]
1)과 같은 작업을 수행할 수 있습니다.numpy.copy(B, A)
이것은 합법적인 구문이 아닙니다.당신 말은 아마도
B = numpy.copy(A)
이는 2와 거의 동일하지만 새로운 어레이를 생성합니다.B
배열. 이전에 대한 다른 참조가 없는 경우B
값, 최종 결과는 2와 동일하지만 복사하는 동안 일시적으로 더 많은 메모리를 사용합니다.아니면 당신 말은
numpy.copyto(B, A)
어떤 것이 합법적이고, 2에 해당합니까?
B=A
참조를 작성합니다.B[:]=A
복사본을 만듭니다.numpy.copy(B,A)
복사본을 만듭니다.
마지막 두 개는 추가 메모리가 필요합니다.
사용해야 하는 딥 카피를 만들려면B = copy.deepcopy(A)
이것이 저에게 유일하게 효과적인 대답입니다.
B=numpy.array(A)
언급URL : https://stackoverflow.com/questions/19676538/numpy-array-assignment-with-copy
반응형
'programing' 카테고리의 다른 글
ImportError: pip을 설치한 후 바로 pip'이라는 모듈이 없는 이유는 무엇입니까? (0) | 2023.07.21 |
---|---|
문자열 ISO-8601 날짜를 오라클의 타임스탬프 데이터 형식으로 변환 (0) | 2023.07.21 |
이미지 크기를 가져오려면 Python OpenCV2(cv2) 래퍼를 선택하시겠습니까? (0) | 2023.07.21 |
파이어스토어 문서에서 중첩된 오브젝트의 필드를 업데이트하시겠습니까? (0) | 2023.07.21 |
예외에서 루프를 계속할 수 있습니까? (0) | 2023.07.16 |