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 extenddanslist 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.

comments powered by Disqus