438 Stimmen

Was ist der Unterschied zwischen np.array() und np.asarray()?

Was ist der Unterschied zwischen NumPy's np.array y np.asarray ? Wann sollte ich den einen und wann den anderen verwenden? Sie scheinen identische Ergebnisse zu erzeugen.

0voto

vivek Punkte 423

Hier ist ein einfaches Beispiel, das den Unterschied verdeutlicht.

Der Hauptunterschied besteht darin, dass das Array eine Kopie der ursprünglichen Daten erstellt und wir mit Hilfe eines anderen Objekts die Daten im ursprünglichen Array ändern können.

import numpy as np
a = np.arange(0.0, 10.2, 0.12)
int_cvr = np.asarray(a, dtype = np.int64)

Der Inhalt des Arrays (a) bleibt unberührt, und wir können mit einem anderen Objekt eine beliebige Operation an den Daten durchführen, ohne den Inhalt des ursprünglichen Arrays zu verändern.

0voto

Haroon Hayat Punkte 61

Verstehen wir den Unterschied zwischen np.array() y np.asarray() mit dem Beispiel:

np.array(): Konvertiert Eingabedaten (Liste, Tupel, Array oder ein anderer Sequenztyp) in ein ndarray und kopiert die Eingabedaten standardmäßig.

np.asarray(): Konvertiert Eingabedaten in ein ndarray, kopiert aber nicht, wenn die Eingabe bereits ein ndarray ist.

#Create an array...

arr = np.ones(5);  # array([1., 1., 1., 1., 1.])

#Now I want to modify `arr` with `array` method. Let's see...

np.array(arr)[3] = 200;  # array([1., 1., 1., 1., 1.])

Keine Änderung im Array, da wir eine Kopie der arr .

Ändern Sie nun arrasarray() Methode.

np.asarray(arr)[3] = 200;  # array([1., 200, 1., 1., 1.])

Die Änderung erfolgt in diesem Array, weil wir jetzt mit dem ursprünglichen Array arbeiten.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X