Python numpy.append() Funktion – Arrays zusammenfügen leicht gemacht
Die Python-numpy.append()
-Funktion ermöglicht das Zusammenfügen von Arrays und ist besonders nützlich, wenn Sie Daten effizient verarbeiten möchten. Sie gibt ein neues Array zurück, während das ursprüngliche Array unverändert bleibt. Dieses Tutorial zeigt Ihnen, wie Sie die Funktion anwenden und häufige Fehler vermeiden können.
Syntax der numpy.append()-Funktion
numpy.append(arr, values, axis=None)
Parameter:
arr
: Das Quell-Array (NumPy-Array oder array-ähnliches Objekt).values
: Die anzuhängenden Werte (array-ähnliches Objekt).axis
: Die Achse, entlang der die Werte angehängt werden sollen:None
(Standard): Arrays werden abgeflacht und zusammengefügt.0
: Entlang der ersten Dimension (Zeilen).1
: Entlang der zweiten Dimension (Spalten).
Rückgabewert:
Ein neues Array mit den angehängten Werten.
Beispiele für die Nutzung von numpy.append()
1. Arrays abflachen und zusammenfügen
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[10, 20], [30, 40]])
# Arrays werden abgeflacht und zusammengeführt
arr_flat = np.append(arr1, arr2)
print(„Abgeflachtes Array:“, arr_flat)
Output:
Abgeflachtes Array: [ 1 2 3 4 10 20 30 40]
2. Zusammenführen entlang einer Achse
import numpy as np
# Zusammenführen entlang der Achse 0 (Zeilen)
arr_axis0 = np.append([[1, 2], [3, 4]], [[10, 20], [30, 40]], axis=0)
print(„Zusammengeführt entlang Achse 0:\n“, arr_axis0)
# Zusammenführen entlang der Achse 1 (Spalten)
arr_axis1 = np.append([[1, 2], [3, 4]], [[10, 20], [30, 40]], axis=1)
print(„Zusammengeführt entlang Achse 1:\n“, arr_axis1)
Output:
Zusammengeführt entlang Achse 0:
[[ 1 2]
[ 3 4]
[10 20]
[30 40]]
Zusammengeführt entlang Achse 1:
[[ 1 2 10 20]
[ 3 4 30 40]]
3. Arrays unterschiedlicher Form zusammenführen
Die Funktion numpy.append()
funktioniert, solange die Dimensionen der Arrays kompatibel sind. Werden die Arrays abgeflacht, können sie auch bei unterschiedlichen Formen kombiniert werden.
import numpy as np
# Abflachen und Zusammenführen
arr_flat = np.append([[1, 2]], [[1, 2, 3], [4, 5, 6]])
print(„Zusammenführung von Arrays unterschiedlicher Form:\n“, arr_flat)
# Zusammenführung entlang der Achse 0
arr_axis0 = np.append([[1, 2]], [[3, 4], [5, 6]], axis=0)
print(„Zusammengeführt entlang Achse 0:\n“, arr_axis0)
Output:
Zusammenführung von Arrays unterschiedlicher Form:
[1 2 1 2 3 4 5 6]
Zusammengeführt entlang Achse 0:
[[1 2]
[3 4]
[5 6]]
4. Häufiger Fehler bei inkompatiblen Dimensionen
Wenn die Dimensionen inkompatibel sind, löst numpy.append()
einen ValueError aus.
import numpy as np
# Fehler: Unterschiedliche Formen entlang der Achse 0
arr_error = np.append([[1, 2]], [[1, 2, 3]], axis=0)
Fehler:
ValueError: all the input array dimensions except for the concatenation axis must match exactly
Lösung: Stellen Sie sicher, dass die Dimensionen entlang der angegebenen Achse übereinstimmen.
Tipps zur Nutzung von numpy.append()
- Dimensionen überprüfen:
Nutzen Siearr.shape
, um die Dimensionen von Arrays vor dem Anhängen zu prüfen.print(arr1.shape) # Gibt die Form des Arrays zurück
- Alternativen zu
numpy.append()
verwenden:
Wenn Sie nur entlang bestimmter Achsen arbeiten, istnumpy.concatenate()
oft effizienter. - Große Arrays vermeiden:
Bei sehr großen Arrays sollten Sie vordefinierte Arrays nutzen und Werte direkt zuweisen, danumpy.append()
bei jedem Aufruf ein neues Array erstellt, was die Leistung beeinträchtigen kann.
Häufige Anwendungsfälle
- Datenanalyse: Zusammenführen von Datensätzen.
- Bildverarbeitung: Kombination von Pixelwerten aus mehreren Bildern.
- Maschinelles Lernen: Vorbereitung von Trainingsdaten.