Tutoriel Numpy - Appendice NumPy Array

Jinku Hu 13 mai 2021
Tutoriel Numpy - Appendice NumPy Array

Numpy a aussi la fonction append pour ajouter des données à un tableau, tout comme l’opération append à list en Python. Mais dans certains cas, append dans NumPy est aussi un peu similaire à la méthode extend dans list en Python.

Array Append

Commençons par énumérer la syntaxe de ndarray.append.

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

Paramètres d’entrée

nom du paramètre type de données Description
arr comme un tableau Un tableau pour ajouter un élément
values comme un tableau Tableau ajouté
axis INT L’axe le long duquel les valeurs sont ajoutées.

Faisons quelques exemples,

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.])

Lorsque axis n’est pas donné, les valeurs arr et values sont aplaties avant l’opération. Le résultat sera un tableau 1-D. Dans l’exemple ci-dessus, nous n’avons pas besoin de nous soucier de la forme de deux tableaux donnés.

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

Quand axis est égal à 0, le tableau values sera ajouté à arr dans la direction de la colonne. Il augmentera l’erreur ValueError si deux tableaux donnés n’ont pas la même longueur dans la ligne - ValueError: all the input array dimensions except for the concatenation axis must match exactly.

Vous pouvez essayer par vous-même d’ajouter les données dans la direction de la ligne avec le paramètre axis=1.

Auteur: 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