numpy.append() in Python
Die Python numpy append() Funktion wird verwendet, um zwei Arrays zusammenzuführen. Diese Funktion gibt ein neues Array zurück und das ursprüngliche Array bleibt unverändert.
NumPy append() Syntax
Die Funktionssyntax ist:
numpy.append(arr, values, axis=None)
- Das arr kann ein array-ähnliches Objekt oder ein NumPy-Array sein. Die Werte werden einer Kopie dieses Arrays hinzugefügt.
- Die Werte sind array-ähnliche Objekte und werden am Ende der “arr ” Elemente angehängt.
- Die Achse gibt die Achse an, entlang derer Werte angefügt werden. Wenn die Achse nicht angegeben ist, werden die beiden Arrays abgeflacht.
Python numpy.append() Beispiele
Lass uns einige Beispiele für die NumPy append() Funktion ansehen.
1. Zwei Arrays zusammenführen
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[10, 20], [30, 40]])
no axis provided, array elements will be flattened
arr_flat = np.append(arr1, arr2)
print(arr_flat) # [ 1 2 3 4 10 20 30 40]
2. Zusammenführen entlang der Achse
import numpy as np
arr_merged = np.append([[1, 2], [3, 4]], [[10, 20], [30, 40]], axis=0)
print(f'Merged 2x2 Arrays along Axis-0:\n{arr_merged}')
arr_merged = np.append([[1, 2], [3, 4]], [[10, 20], [30, 40]], axis=1)
print(f'Merged 2x2 Arrays along Axis-1:\n{arr_merged}')
Ausgabe :
Merged 2x2 Arrays along Axis-0:
[[ 1 2]
[ 3 4]
[10 20]
[30 40]]
Merged 2x2 Arrays along Axis-1:
[[ 1 2 10 20]
[ 3 4 30 40]]
- Wenn die 2x2-Arrays entlang der x-Achse zusammengeführt werden, hat das Ausgabearray die Größe 4x2.
- Wenn die 2x2-Arrays entlang der y-Achse zusammengeführt werden, hat das Ausgabearray die Größe 2x4.
3. Zusammenführen von Arrays unterschiedlicher Formen
Die append() Funktion wirft einen ValueError, wenn beide Arrays eine unterschiedliche Form haben, abgesehen von der Achse. Lassen Sie uns dieses Szenario mit einem einfachen Beispiel verstehen.
arr3 = np.append([[1, 2]], [[1, 2, 3], [1, 2, 3]])
print(arr3)
arr3 = np.append([[1, 2]], [[1, 2], [3, 4]], axis=0)
print(arr3)
- Im ersten Beispiel werden die Array-Elemente flatten. Selbst wenn sie völlig unterschiedliche Größen haben - 1x2 und 2x3, funktioniert append() einwandfrei.
- Im zweiten Beispiel haben die Array-Formen 1x2 und 2x2. Da wir entlang der 0-Achse anhängen, kann die Form der 0-Achse unterschiedlich sein. Die anderen Formen sollten gleich sein, sodass dieses append() ebenfalls gut funktioniert.
Ausgabe :
[1 2 1 2 3 1 2 3]
[[1 2]
[1 2]
[3 4]]
Lass uns ein weiteres Beispiel betrachten, bei dem ein ValueError ausgelöst wird.
>>> import numpy as np
>>>
>>> arr3 = np.append([[1, 2]], [[1, 2, 3]], axis=0)
Traceback (most recent call last):
File "", line 1, in
File "/Library/Frameworks/Python.framework/Versions/3.7/lib/python3.7/site-packages/numpy/lib/function_base.py", line 4528, in append
return concatenate((arr, values), axis=axis)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
>>>
Die Array-Formate sind 1x2 und 2x3. Da die Achsen-1-Formate unterschiedlich sind, wird ein ValueError ausgelöst. Referenz: API-Dokument

