„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > 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?

Veröffentlicht am 08.11.2024
Durchsuche:813

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

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

Was ist „np.newaxis“?

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' ist nützlich, wenn Operationen ausgeführt werden, die Folgendes umfassen NumPy-Übertragung. Erwägen Sie beispielsweise das Hinzufügen zweier 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

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

# Create a row vector from a 1D array
x = np.arange(4)
x_row_vector = x[np.newaxis, :]

Um Broadcasting zu aktivieren:

# 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

Alternative: 'np.expand_dims'

'np.expand_dims' ist eine Alternative zu 'np.newaxis', die eine intuitive 'Achse' bietet. kwarg, um den Einfügepunkt der neuen Achse anzugeben.

Zusätzliche Hinweise

  • 'np.newaxis' fügt im Gegensatz zu 'np.reshape' vorübergehend eine Achse hinzu. Dadurch wird das Array in ein neues Layout umgeformt.
  • 'np.newaxis' und 'None' sind äquivalente Objekte.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3