Une fois les bases acquises, il faut savoir travailler avec des tableaux NumPy : les combiner, les diviser, comprendre la différence entre alias, vue et copie, et les trier.
Combiner des tableaux NumPy #
La fonction np.concatenate() concatène des tableaux le long d’un axe donné. Tu peux aussi les empiler avec np.vstack() (empilement vertical) et np.hstack() (empilement horizontal).
import numpy as np
arr1 = np.array([1, 2, 3])
arr2 = np.array([4, 5, 6])
# Concaténation le long de l'axe 0
print(np.concatenate((arr1, arr2)))
# Empilement vertical : on obtient un tableau 2D
print(np.vstack((arr1, arr2)))
# Empilement horizontal
print(np.hstack((arr1, arr2)))Python[1 2 3 4 5 6]
[[1 2 3]
[4 5 6]]
[1 2 3 4 5 6]Diviser des tableaux NumPy #
Diviser un tableau est l’inverse de les combiner : on découpe un tableau en plusieurs tableaux plus petits. NumPy fournit np.split(), np.hsplit() et np.vsplit() pour cela. Avec np.split(arr, 3), le tableau doit pouvoir se découper en parties égales, sinon NumPy lève une erreur.
arr = np.array([1, 2, 3, 4, 5, 6])
# Diviser en trois parties égales
print(np.split(arr, 3))Python[array([1, 2]), array([3, 4]), array([5, 6])]Alias, vue et copie #
- Alias : plusieurs variables pointent vers le même objet tableau, et partagent donc les mêmes données. Modifier l’une modifie l’autre ;
- Vue : la méthode
.view()crée un nouvel objet tableau qui regarde les mêmes données que le tableau d’origine, sans partager sa propre identité. Modifier les valeurs de la vue modifie aussi le tableau d’origine ; - Copie : la méthode
.copy()crée un double totalement indépendant, avec ses propres données en mémoire. Modifier la copie n’affecte pas le tableau d’origine, et inversement.
original_arr = np.array([1, 2, 3])
alias_arr = original_arr # alias : même objet
view_arr = original_arr.view() # vue : mêmes données
copy_arr = original_arr.copy() # copie : données indépendantes
alias_arr[0] = 100 # modifie original_arr
view_arr[1] = 200 # modifie aussi original_arr
copy_arr[2] = 300 # ne modifie pas original_arr
print(original_arr)
print(copy_arr)
print(alias_arr is original_arr, view_arr is original_arr)Python[100 200 3]
[ 1 2 300]
True FalseTrier des tableaux NumPy #
La fonction np.sort(array) trie un tableau par ordre croissant. Pour un tri décroissant, inverse le résultat avec le découpage [::-1]. Pour récupérer les indices qui trieraient les données, utilise np.argsort().
data = np.array([3, 1, 5, 2, 4])
print(np.sort(data)) # Ordre croissant
print(np.sort(data)[::-1]) # Ordre décroissant
# Les indices qui trieraient le tableau
print(np.argsort(data))Python[1 2 3 4 5]
[5 4 3 2 1]
[1 3 0 4 2]La suite de la série porte sur NumPy pour le nettoyage de données. Documentation : manipulation de tableaux avec NumPy.
Pour aller plus loin, consulte aussi notre guide des 45 méthodes NumPy.
Un tableau NumPy ne s’apprend pas en le lisant. Dans le cours Analyse et visualisation de données, tu écris le code toi-même, exercice après exercice, avec les premiers chapitres gratuits.

