Heim > Backend-Entwicklung > Python-Tutorial > Wie kann \'np.newaxis\' von NumPy verwendet werden, um Broadcasting in Array-Operationen zu ermöglichen?

Wie kann \'np.newaxis\' von NumPy verwendet werden, um Broadcasting in Array-Operationen zu ermöglichen?

Mary-Kate Olsen
Freigeben: 2024-10-26 06:18:30
Original
967 Leute haben es durchsucht

How can NumPy's 'np.newaxis' be used to enable broadcasting in array operations?

Was ist „np.newaxis“ von NumPy und wie wird es verwendet?

„np.newaxis“ verstehen

NumPys „np.newaxis“, auch bekannt als „None“, ist ein Pseudoindex, der zum vorübergehenden Hinzufügen einer Achse zu einem Array verwendet wird. Bei einmaliger Verwendung erhöht es die Dimension des Arrays um eins. Beispielsweise wird ein 1D-Array zu einem 2D-Array, ein 2D-Array wird zu einem 3D-Array und so weiter.

Szenarien für die Verwendung von „np.newaxis“

Szenario 1: Zeilen-/Spaltenvektoren aus 1D-Arrays erstellen

'np.newaxis' kann verwendet werden, um ein 1D-Array explizit in einen Zeilenvektor umzuwandeln (durch Einfügen einer Achse entlang der ersten Dimension). oder ein Spaltenvektor (durch Einfügen einer Achse entlang der zweiten Dimension).

Szenario 2: Aktivieren von NumPy Broadcasting

'np.newaxis' wird nützlich, wenn Vorgänge ausgeführt werden, die Folgendes umfassen NumPy-Übertragung. Erwägen Sie beispielsweise das Hinzufügen von zwei Arrays mit den Formen „(5,)“ und „(3,)“. NumPy löst aufgrund inkompatibler Formen einen Fehler aus. Durch die Verwendung von „np.newaxis“ zum Erhöhen der Dimension eines Arrays kann Broadcasting zur Ausführung des Vorgangs aktiviert werden.

Szenario 3: Arrays in höhere Dimensionen hochstufen

'np.newaxis' kann mehrfach verwendet werden, um Arrays in höhere Dimensionen zu befördern, was für Arrays höherer Ordnung (Tensoren) erforderlich sein kann.

Verwendungsbeispiele

Zu Verwenden Sie „np.newaxis“ und fügen Sie es in den Slicing-Ausdruck ein. Zum Beispiel:

<code class="python"># Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]</code>
Nach dem Login kopieren

Um die Übertragung zu aktivieren:

<code class="python"># Add a 1D array to a 2D array
x1 = np.array([1, 2, 3, 4, 5])
x2 = np.array([5, 4, 3])
x1_new = x1[:, np.newaxis]    # Insert axis for broadcasting
result = x1_new + x2</code>
Nach dem Login kopieren

Alternative: 'np.expand_dims'

'np.expand_dims' ist eine Alternative zu „np.newaxis“, die eine intuitive „Achsen“-Funktion zur Angabe des Einfügepunkts der neuen Achse bietet.

Zusätzliche Hinweise

  • ' „np.newaxis“ fügt vorübergehend eine Achse hinzu, im Gegensatz zu „np.reshape“, das das Array in ein neues Layout umformt.
  • 'np.newaxis' und 'None' sind äquivalente Objekte.

Das obige ist der detaillierte Inhalt vonWie kann \'np.newaxis\' von NumPy verwendet werden, um Broadcasting in Array-Operationen zu ermöglichen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
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
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage