Numpy-Array-Zuweisung mit Kopie
Einführung
Beim Umgang mit Numpy-Arrays ist es entscheidend um zu verstehen, wie sich Zuweisungen auf die Daten auswirken. In diesem Artikel werden die Unterschiede zwischen drei Zuweisungsmethoden untersucht: B = A, B[:] = A und numpy.copy(B, A), wobei angesprochen wird, wann zusätzlicher Speicher zugewiesen wird und wann nicht.
B = A
Diese Zuweisung bindet einfach einen neuen Namen (B) an ein vorhandenes Numpy-Objekt (A). Beide Namen beziehen sich auf dasselbe Objekt, sodass jede direkte Änderung an einem Objekt im anderen widergespiegelt wird. Es wird kein zusätzlicher Speicher zugewiesen.
B[:] = A (Entspricht B[:]=A[:])
Dieser Vorgang kopiert die Werte von A in ein vorhandenes Array B. Die Formen von B und A müssen übereinstimmen. Es wird kein zusätzlicher Speicher zugewiesen, da das vorhandene B-Array wiederverwendet wird.
numpy.copy(B, A)
Diese Syntax ist falsch. Die korrekte Syntax ist B = numpy.copy(A), wodurch ein neues Array erstellt wird, das die Kopie von A enthält. Das ursprüngliche B-Array wird nicht wiederverwendet und daher wird beim Kopieren der Daten zusätzlicher Speicher zugewiesen.
numpy.copyto(B, A)
Diese Zuweisung entspricht B[:] = A. Sie kopiert die Werte von A nach B und überschreibt dabei die vorhandenen Daten. Wenn in B ausreichend Platz vorhanden ist, wird kein zusätzlicher Speicher zugewiesen; andernfalls wird ein neues Array erstellt und zusätzlicher Speicher zugewiesen.
Das obige ist der detaillierte Inhalt vonNumpy-Array-Zuweisung verstehen: Wann wird neuer Speicher zugewiesen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!