NumPy Tutorial - NumPy Array anhängen

Jinku Hu 13 Mai 2021
NumPy Tutorial - NumPy Array anhängen

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.

numpy.append(arr, values, axis = None)

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.

Autor: Jinku Hu
Jinku Hu avatar Jinku Hu avatar

Founder of DelftStack.com. Jinku has worked in the robotics and automotive industries for over 8 years. He sharpened his coding skills when he needed to do the automatic testing, data collection from remote servers and report creation from the endurance test. He is from an electrical/electronics engineering background but has expanded his interest to embedded electronics, embedded programming and front-/back-end programming.

LinkedIn Facebook