Hinzufügen einer zusätzlichen Spalte zu einem NumPy-Array
NumPy, eine leistungsstarke Bibliothek für wissenschaftliches Rechnen in Python, bietet eine Reihe von Manipulationsmethoden mehrdimensionale Daten. Dazu gehört die Aufgabe, einem Array eine zusätzliche Spalte hinzuzufügen. Lassen Sie uns untersuchen, wie Sie dies mithilfe spezieller NumPy-Funktionen erreichen können, die eine bequeme und effiziente Möglichkeit bieten, die Abmessungen Ihrer Arrays zu erweitern.
Mit np.r_[...] und np.c_[.. .]
Zum Hinzufügen einer zusätzlichen Spalte zu einem 2D-Array sind zwei nützliche NumPy-Funktionen np.r_[...] (zum Hinzufügen von Zeilen) und np.c_[...] (für Spalten hinzufügen). Im Gegensatz zu np.vstack und np.hstack verwenden diese Funktionen eckige Klammern [] anstelle von Klammern ().
Betrachten Sie das folgende 2D-Array:
<code class="python">import numpy as np a = np.array([ [1, 2, 3], [2, 3, 4], ])</code>
Um eine Spalte mit Nullen hinzuzufügen die zweite Achse mit np.c_[...]:
<code class="python">b = np.c_[a, np.zeros(a.shape[0])]</code>
Dies führt zur gewünschten Ausgabe:
<code class="python">b = np.array([ [1, 2, 3, 0], [2, 3, 4, 0], ])</code>
Zusätzliche Beispiele
np.r_[...] und np.c_[...] bieten Vielseitigkeit beim Hinzufügen von Zeilen/Spalten zu Arrays. Hier sind einige weitere Beispiele:
<code class="python">N = 3 A = np.eye(N) # Add a column np.c_[A, np.ones(N)] # Add two columns np.c_[np.ones(N), A, np.ones(N)] # Add a row np.r_[A, [A[1]]] # Mix vectors and scalars np.r_[A[0], 1, 2, 3, A[1]] # Use lists or tuples np.r_[A[0], [1, 2, 3], A[1]] np.r_[A[0], (1, 2, 3), A[1]] # Use Python slice syntax np.r_[A[0], 1:4, A[1]]</code>
Eckige Klammern vs. runde Klammern verstehen
Es ist wichtig zu beachten, dass np.r_[...] und np. c_[...] verwendet eckige Klammern, während np.vstack und np.hstack runde Klammern verwenden. Dies liegt daran, dass Python 1:4 als Slice-Objekt interpretiert, wenn es in eckigen Klammern verwendet wird. Dieses Slice-Objekt stellt die Werte 1, 2 und 3 dar, die dann dem Array hinzugefügt werden.
Das obige ist der detaillierte Inhalt vonWie füge ich mit „np.c_[...]' eine zusätzliche Spalte zu einem NumPy-Array hinzu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!