Dans cet article, nous allons vous montrer comment aplatir une matrice à l'aide de la bibliothèque NumPy en python.
Le module numpy comprend une fonction appelée numpy.ndarray.flatten() qui renvoie une copie unidimensionnelle du tableau plutôt qu'un tableau bidimensionnel ou multidimensionnel.
En termes simples, on peut dire qu'il aplatit la matrice en 1 dimension.
ndarray.flatten(order='C')
commander − 'C', 'F', 'A', 'K' (facultatif)
Lorsque nous définissons les paramètres de tri sur 'C,', le tableau est aplati dans ordre principal des lignes.
Lorsque le « F » est défini, le tableau est aplati dans l'ordre colonne majeure.
Le tableau est développé dans l'ordre principal des colonnes uniquement si « a » est contigu en Fortran en mémoire et que le paramètre d'ordre est défini sur « A ». L'ordre final est « K », qui déroule le tableau dans le même ordre que celui dans lequel les éléments apparaissent en mémoire. Ce paramètre est défini sur « C » par défaut.
Valeur de retour - Renvoie une matrice 1D aplatie
Voici les algorithmes/étapes pour effectuer la tâche requise :
Utilisez le mot-clé import pour importer le module numpy avec un alias (np).
Utilisez la fonction numpy.array() (qui renvoie un ndarray. Un ndarray est un objet tableau qui satisfait aux exigences données) pour créer un tableau numpy en passant un tableau à 2 dimensions (2 lignes, 2 colonnes) comme argument à cela.
Imprimez la matrice 2D donnée.
Appliquez la fonction flatten() du module numpy (aplatir la matrice à une dimension) sur la matrice d'entrée pour aplatir la matrice bidimensionnelle d'entrée en une matrice unidimensionnelle.
Imprimez la matrice aplatie résultante de la matrice d'entrée.
Le programme suivant aplatit la matrice bidimensionnelle d'entrée donnée en une matrice unidimensionnelle à l'aide de la fonction flatten() et la renvoie −
# importing numpy module with an alias name import numpy as np # creating a 2-Dimensional(2x2) numpy matrix inputMatrix = np.array([[3, 5], [4, 8]]) # printing the input 2D matrix print("The input numpy matrix:") print(inputMatrix) # flattening the 2D matrix to one-dimensional matrix flattenMatrix = inputMatrix.flatten() # printing the resultant flattened matrix print("Resultant flattened matrix:") print(flattenMatrix)
Une fois exécuté, le programme ci-dessus générera le résultat suivant :
The input numpy matrix: [[3 5] [4 8]] Resultant flattened matrix: [3 5 4 8]
Voici les algorithmes/étapes pour effectuer la tâche requise :
Utilisez la fonction numpy.array() (renvoie un ndarray. Le ndarray est un objet tableau qui satisfait aux exigences données), pour créer un tableau numpy en passant le tableau à 4 dimensions (4 lignes, 4 colonnes) comme argument à cela.
Imprimez la matrice 4D donnée.
Calculez le nombre d'éléments d'une matrice en multipliant la longueur du tableau NumPy par elle-même. Ces valeurs représentent le nombre de colonnes requis.
Utilisez la fonction reshape() (remodèle un tableau sans affecter ses données) pour remodeler le tableau et aplatir la matrice d'entrée (4D) en une matrice unidimensionnelle.
Imprimez la matrice aplatie résultante de la matrice d'entrée.
Le programme suivant utilise la fonction reshape() pour aplatir la matrice à 4 dimensions donnée en une matrice à 1 dimension et renvoie le résultat -
# importing numpy module with an alias name import numpy as np # creating a 4-Dimensional(4x4) numpy matrix inputMatrix = np.array([[1, 2, 3, 97], [4, 5, 6, 98], [7, 8, 9, 99], [10, 11, 12, 100]]) # Getting the total Number of elements of the matrix matrixSize = len(inputMatrix) * len(inputMatrix) # printing the input 4D matrix print("The input numpy matrix:") print(inputMatrix) # reshaping the array and flattening the 4D matrix to a one-dimensional matrix # here (1,matrixSize(16)) says 1 row and 16 columns(Number of elements) flattenMatrix= np.reshape(inputMatrix, (1, matrixSize)) # printing the resultant flattened matrix print("Resultant flattened matrix:") print(flattenMatrix)
Une fois exécuté, le programme ci-dessus générera le résultat suivant :
The input numpy matrix: [[ 1 2 3 97] [ 4 5 6 98] [ 7 8 9 99] [ 10 11 12 100]] Resultant flattened matrix: [[ 1 2 3 97 4 5 6 98 7 8 9 99 10 11 12 100]]
La traduction chinoise est :
Voici les algorithmes/étapes pour effectuer la tâche requise :
Utilisez la fonction numpy.matrix() (qui renvoie une matrice à partir d'une chaîne de données ou d'un objet de type tableau. La matrice résultante est un tableau 4D spécialisé), en passant un tableau 4D (4 lignes, 4 colonnes ) comme argument Passez-le pour créer une matrice numpy.
Imprimez la matrice aplatie résultante de la matrice d'entrée.
Le programme suivant utilise la fonction flatten() pour aplatir une matrice à 4 dimensions donnée en une matrice à 1 dimension et renvoie le résultat -
# importing NumPy module with an alias name import numpy as np # creating a NumPy matrix (4x4 matrix) using matrix() method inputMatrix = np.matrix('[11, 1, 8, 2; 11, 3, 9 ,1; 1, 2, 3, 4; 9, 8, 7, 6]') # printing the input 4D matrix print("The input numpy matrix:") print(inputMatrix) # flattening the 4D matrix to one-dimensional matrix flattenMatrix = inputMatrix.flatten() # printing the resultant flattened matrix print("Resultant flattened matrix:") print(flattenMatrix)
Une fois exécuté, le programme ci-dessus générera le résultat suivant :
The input numpy matrix: [[11 1 8 2] [11 3 9 1] [ 1 2 3 4] [ 9 8 7 6]] Resultant flattened matrix: [[11 1 8 2 11 3 9 1 1 2 3 4 9 8 7 6]]
Dans cet article, nous avons appris à aplatir une matrice en Python à l'aide de trois exemples différents. Nous avons appris comment obtenir des matrices dans Numpy en utilisant deux méthodes différentes : numpy.array() et NumPy.matrix(). Nous avons également appris à aplatir une matrice à l'aide de la fonction reshape.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!