English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Les fonctions couramment utilisées pour connecter des arrays sont les suivantes :
Fonction | Description |
concatenate | Connecter une séquence d'arrays suivant un axe existant |
stack | Ajouter une série d'arrays suivant un nouveau axe. |
hstack | Empiler horizontalement les arrays de la séquence (direction des colonnes) |
vstack | Empiler verticalement les arrays de la séquence (direction des lignes) |
dstack | Empiler verticalement, la hauteur est la même que la profondeur |
La connexion signifie que le contenu de deux ou plusieurs arrays est placé dans un seul array.
Dans SQL, nous connectons des tables sur la base d'une clé, tandis que dans NumPy, nous connectons des arrays suivant un axe.
La fonction numpy.concatenate est utilisée pour connecter deux ou plusieurs arrays de forme identique le long d'un axe spécifié, le format est le suivant :
numpy.concatenate((a1, a2, ...), axis)
Description des paramètres :
a1, a2, ... : arrays de type identiqueaxis : l'axe suivant lequel les tableaux sont connectés, par défaut 0
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Premier tableau :') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Deuxième tableau :') print(b) print('\n') # Les dimensions des deux tableaux sont identiques print ('Connecter deux tableaux : sur l'axe 0') print (np.concatenate((a,b))) print('\n') print ('sur l'axe 1 Connecter deux tableaux :') print (np.concatenate((a,b),axis = 1))
Le résultat de la sortie est :
[[ 5 6 7 8 9] [ 7 8 9 10 11]] Connecter deux tableaux : sur l'axe 0 [[ 1 2 3 4 5] [ 3 4 5 6 7] [ 5 6 7 8 9] [ 7 8 9 10 11]] A longueur d'axe 1 Connecter deux tableaux : [[ 1 2 3 4 5 5 6 7 8 9] [ 3 4 5 6 7 7 8 9 10 11]]
La fonction numpy.stack est utilisée pour connecter une séquence d'arrays le long d'un nouveau axe, le format est le suivant :
numpy.stack(arrays, axis)
Description des paramètres :
séquence d'arrays de forme identiqueaxis : retourne l'axe des tableaux, les tableaux sont empilés suivant cet axe
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Premier tableau :') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Deuxième tableau :') print(b) print('\n') print ('empiler deux tableaux : sur l'axe 0') print (np.stack((a,b),0)) print('\n') print ('sur l'axe 1 empiler deux tableaux :') print (np.stack((a,b),1))
Le résultat de la sortie est le suivant :
Premier tableau : [[1 2 3 4 5] [3 4 5 6 7]] Deuxième tableau : [[ 5 6 7 8 9] [ 7 8 9 10 11]] Empilement de deux tableaux le long de l'axe 0 : [[[ 1 2 3 4 5] [ 3 4 5 6 7]] [[ 5 6 7 8 9] [ 7 8 9 10 11]]] A longueur d'axe 1 Empilement de deux tableaux : [[[ 1 2 3 4 5] [ 5 6 7 8 9]] [[ 3 4 5 6 7] [ 7 8 9 10 11]]]
numpy.hstack est une variante de la fonction numpy.stack, elle génère des tableaux en empilant horizontalement.
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Premier tableau :') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Deuxième tableau :') print(b) print('\n') print('Empilement horizontal :') c = np.hstack((a, b)) print(c) print('\n')
Le résultat de la sortie est le suivant :
Premier tableau : [[1 2 3 4 5] [3 4 5 6 7]] Deuxième tableau : [[ 5 6 7 8 9] [ 7 8 9 10 11]] Empilement horizontal : [[ 1 2 3 4 5 5 6 7 8 9] [ 3 4 5 6 7 7 8 9 10 11]]
numpy.vstack est une variante de la fonction numpy.stack, elle génère des tableaux en empilant verticalement.
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] print('Premier tableau :') print(a) print('\n') b = np.array([5,6,7,8,9],[7,8,9,10,11]]] print('Deuxième tableau :') print(b) print('\n') print('Empilement vertical :') c = np.vstack((a, b)) print(c)
Le résultat de la sortie est :
Premier tableau : [[1 2 3 4 5] [3 4 5 6 7]] Deuxième tableau : [[ 5 6 7 8 9] [ 7 8 9 10 11]] Empilement vertical : [[ 1 2 3 4 5] [ 3 4 5 6 7] [ 5 6 7 8 9] [ 7 8 9 10 11]]
NumPy fournit une fonction d'assistance : dstack() empile le long de la hauteur, la hauteur est la même que la profondeur.
import numpy as np a = np.array([1,2,3,4,5],[3,4,5,6,7]]] b = np.array([5,6,7,8,9],[7,8,9,10,11]]] arr = np.dstack((a, b)) print(arr)
Le résultat de la sortie est :
[[[ 1 5] [ 2 6] [ 3 7] [ 4 8] [ 5 9]] [[ 3 7] [ 4 8] [ 5 9] [ 6 10] [ 7 11]]]