Combiner des tableaux NumPy #
NumPy fournit la fonction np.concatenate()
pour concaténer des tableaux le long d’un axe spécifié. Les tableaux peuvent être empilés à l’aide de fonctions telles que np.vstack()
(empilage vertical) et np.hstack()
(empilage horizontal).
arr1 = np.array([1, 2, 3]) arr2 = np.array([4, 5, 6]) # Concaténation le long de l'axe 0 (lignes) combined = np.concatenate((arr1, arr2)) # Résultat : [1, 2, 3, 4, 5, 6] # Empilement vertical vertical_stack = np.vstack((arr1, arr2)) # Résultat : [[1, 2, 3], [4, 5, 6]] # Empilement horizontal horizontal_stack = np.hstack((arr1, arr2)) # Résultat : [1, 2, 3, 4, 5, 6]
Diviser des tableaux NumPy #
La division des tableaux est l’inverse de leur combinaison. C’est le processus qui consiste à diviser un tableau unique en plusieurs tableaux plus petits. NumPy fournit les fonctions np.split()
, np.hsplit()
et np.vsplit()
à cette fin.
arr = np.array([1, 2, 3, 4, 5, 6]) # Diviser en trois parties égales split_arr = np.split(arr, 3) # Résultat : [array([1, 2]), array([3, 4]), array([5, 6])]
Alias vs. View vs. copie de tableau #
Alias : Un alias fait référence à plusieurs variables qui pointent toutes vers le même objet tableau NumPy sous-jacent. Elles partagent les mêmes données en mémoire. Les modifications apportées au tableau alias affecteront le tableau d’origine.
Vue : La méthode .view()
crée un nouvel objet tableau qui examine les mêmes données que le tableau d’origine, mais qui ne partage pas la même identité. Elle permet de visualiser les données différemment ou avec des types de données différents, mais elle opère toujours sur les mêmes données sous-jacentes.
Copie : Une copie est un double totalement indépendant d’un tableau NumPy. Elle possède ses propres données en mémoire, et les modifications apportées à la copie n’affecteront pas le tableau d’origine, et vice versa.
original_arr = np.array([1, 2, 3]) # alias du tableau d'origine alias_arr = original_arr # Les modifications apportées à view_arr affecteront le tableau d'origine view_arr = original_arr.view() # Les modifications apportées à copy_arr n'affecteront pas le tableau d'origine copy_arr = original_arr.copy()
Trier des tableaux Numpy #
Tu peux utiliser np.sort(array)
pour trier le tableau dans l’ordre croissant, mais pour le tri décroissant, tu dois utiliser l’astuce du découpage (ou slicing) de tableau [::-1], qui inverse les éléments du tableau.
data = np.array([3, 1, 5, 2, 4]) sorted_data = np.sort(data) # Ordre croissant reverse_sorted_data = np.sort(data)[::-1] # Ordre décroissant # Tu peux également récupérer les indices qui trieraient les données data = np.array([3, 1, 5, 2, 4]) # Retourne les indices qui trieraient le tableau sorted_indices = np.argsort(data)