TUTORIAL
NumPy Tutorial - NumPy Array anhängen
Dieser Abschnitt führt ein, wie man Daten an ein Numpy-Array anhängt.
Numpy hat auch eine append Funktion, um Daten an ein Array anzuhängen, genau wie die append Operation an List in Python. Aber in einigen Fällen ist append in NumPy auch ein wenig ähnlich wie die erweiternde Methode in Python list.
Array append
Lassen Sie uns zuerst die Syntax von ndarray.append auflisten.
Eingangsparameter
| Parameterbezeichnung | Datentyp | Beschreibung |
|---|---|---|
arr |
array_like | Ein Array zum Hinzufügen eines Elements |
values |
array_like | Array hinzugefügt |
axis |
INT | Die Achse, entlang derer values angehängt werden. |
Machen wir einige Beispiele,
In[1]: import numpy as np
arrayA = np.arange(12).reshape(3, 4)
arrayB = np.ones((1, 4))
np.append(arrayA, arrayB)
Out[1]: array([0., 1., 2., 3., 4., 5., 6., 7., 8., 9., 10., 11., 1.,
1., 1., 1.])
Wenn axis nicht angegeben ist, werden sowohl arr als auch values vor der Operation abgeflacht. Das Ergebnis wird ein 1-D Array sein. Im obigen Beispiel brauchen wir uns nicht um die Form von zwei gegebenen Arrays zu kümmern.
In[2]: np.append(arrayA, arrayB, axis=0)
Out[2]: array([[0., 1., 2., 3.],
[4., 5., 6., 7.],
[8., 9., 10., 11.],
[1., 1., 1., 1.]])
In[2]: np.append(arrayA, np.ones((1, 3)), axis=0)
---------------------------------------------------------------------------
ValueError Traceback(most recent call last)
<ipython-input-25-fe0fb14f5df8 > in < module > ()
--- -> 1 np.append(arrayA, np.ones((1, 3)), axis=0)
D: \ProgramData\Anaconda3\lib\site-packages\numpy\lib\function_base.py in append(arr, values, axis)
5164 values = ravel(values)
5165 axis = arr.ndim-1
-> 5166 return concatenate((arr, values), axis=axis)
ValueError: all the input array dimensions except for the concatenation axis must match exactly
Wenn axis gleich 0 ist, wird das Array values an arr in Richtung der Spalte angehängt. Es wird den ValueError erhoehen, wenn zwei gegebene Arrays nicht die gleiche Laenge in der Zeile haben - ValueError: alle Array-Dimensionen der Eingabe ausser der Verkettung axis muessen exakt übereinstimmen.
Du kannst selbst versuchen, die Daten in Zeilenrichtung mit dem Parameter axis=1 anzuhängen.