Heim >Backend-Entwicklung >Python-Tutorial >Wie kann np.newaxis zur Steuerung von Array-Dimensionen in NumPy verwendet werden?

Wie kann np.newaxis zur Steuerung von Array-Dimensionen in NumPy verwendet werden?

Barbara Streisand
Barbara StreisandOriginal
2024-10-26 01:56:02236Durchsuche

How Can np.newaxis Be Used to Control Array Dimensions in NumPy?

np.newaxis und seine Anwendungen verstehen

np.newaxis von NumPy ist ein leistungsstarkes Tool, mit dem Benutzer die Dimension von Arrays nahtlos vergrößern können. Bei einmaliger Verwendung von np.newaxis verwandelt sich ein eindimensionales Array in ein zweidimensionales Array, ein zweidimensionales Array wird dreidimensional und so weiter.

Szenario 1: Zeile oder Spalte erstellen Vektoren

np.newaxis erweist sich als nützlich für die explizite Konvertierung eindimensionaler Arrays in Zeilen- oder Spaltenvektoren. Durch Einfügen einer Achse entlang der ersten Dimension erstellen wir einen Zeilenvektor und durch Einfügen einer Achse entlang der zweiten Dimension erhalten wir einen Spaltenvektor.

Beispiel:

<code class="python">arr = np.arange(4)
row_vec = arr[np.newaxis, :]
col_vec = arr[:, np.newaxis]</code>

Szenario 2: Ermöglichen der Übertragung

np.newaxis spielt eine entscheidende Rolle bei der Erleichterung der NumPy-Übertragung für Vorgänge wie Additionen. Betrachten Sie zur Veranschaulichung die folgenden Arrays:

<code class="python">x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])</code>

Der Versuch, diese Arrays direkt in NumPy hinzuzufügen, löst aufgrund ihrer unterschiedlichen Formen einen ValueError aus. Indem wir mithilfe von np.newaxis eine neue Achse in eines der Arrays einfügen, aktivieren wir die Übertragung und ermöglichen die Fortsetzung des Vorgangs.

Beispiel:

<code class="python">x1_new = x1[:, np.newaxis]
sum_array = x1_new + x2</code>

Alternativ können wir Fügen Sie x2 eine neue Achse hinzu:

<code class="python">x2_new = x2[:, np.newaxis]
sum_array = x1 + x2_new</code>

Szenario 3: Dimensionen für Arrays höherer Ordnung heraufstufen

np.newaxis kann mehrmals verwendet werden, um Arrays heraufzustufen höhere Dimensionen, eine Funktion, die besonders für die Manipulation von Tensoren nützlich ist.

Beispiel:

<code class="python">arr = np.arange(5*5).reshape(5,5)
arr_5D = arr[np.newaxis, ..., np.newaxis, np.newaxis]</code>

Alternativen: np.expand_dims und None

np.expand_dims bietet einen intuitiven Achsenparameter zum Erweitern von Dimensionen. Darüber hinaus kann None austauschbar mit np.newaxis verwendet werden.

Fazit

np.newaxis ist ein vielseitiges Tool zum Verwalten der Dimensionalität von NumPy-Arrays. Seine Anwendungen reichen von der Erstellung von Zeilen- oder Spaltenvektoren bis hin zur Ermöglichung der Übertragung und Förderung von Dimensionen für Arrays höherer Ordnung.

Das obige ist der detaillierte Inhalt vonWie kann np.newaxis zur Steuerung von Array-Dimensionen in NumPy verwendet werden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn