La fonction append() de Python numpy est utilisée pour fusionner deux tableaux. Cette fonction renvoie un nouveau tableau et le tableau d’origine reste inchangé.
Syntaxe de append() de NumPy
La syntaxe de la fonction est la suivante :
numpy.append(arr, values, axis=None)
- Le arr peut être un objet de type tableau ou un tableau NumPy. Les valeurs sont ajoutées à une copie de ce tableau.
- Les valeurs sont des objets de type tableau et elles sont ajoutées à la fin des éléments « arr ».
- L’axe axis spécifie l’axe le long duquel les valeurs sont ajoutées. Si l’axe n’est pas fourni, les deux tableaux sont aplatis.
Exemples de numpy.append() en Python
Examinons quelques exemples de la fonction append() de NumPy.
1. Aplatir Deux Tableaux
import numpy as np
arr1 = np.array([[1, 2], [3, 4]])
arr2 = np.array([[10, 20], [30, 40]])
# aucun axe fourni, les éléments du tableau seront aplatis
arr_flat = np.append(arr1, arr2)
print(arr_flat) # [ 1 2 3 4 10 20 30 40]
2. Fusion le long de l’axe
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}')
Sortie :
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]]
- Lorsque les tableaux 2×2 sont fusionnés le long de l’axe x, la taille du tableau de sortie est de 4×2.
- Lorsque les tableaux 2×2 sont fusionnés le long de l’axe y, la taille du tableau de sortie est de 2×4.
3. Fusion de tableaux de formes différentes
La fonction append() génère une ValueError si les tableaux ont des formes différentes, à l’exception de l’axe. Comprendrons cela avec un exemple simple.
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)
- Dans le premier exemple, les éléments du tableau sont aplatis. Ainsi, même s’ils ont des tailles complètement différentes – 1×2 et 2×3, append() fonctionne bien.
- Dans le deuxième exemple, les formes des tableaux sont 1×2 et 2×2. Puisque nous ajoutons le long de l’axe 0, la forme de l’axe 0 peut être différente. Les autres formes doivent être les mêmes, donc append() fonctionnera également correctement.
Sortie :
[1 2 1 2 3 1 2 3]
[[1 2]
[1 2]
[3 4]]
Examinons un autre exemple où ValueError sera levée.
>>> 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
>>>

Les formes des tableaux sont 1×2 et 2×3. Puisque les formes de l’axe 1 sont différentes, ValueError est levée. Référence: Documentation de l’API
Source:
https://www.digitalocean.com/community/tutorials/numpy-append-in-python