Transposer un tableau 1D dans NumPy
![Transposer un tableau 1D dans NumPy](/img/Numpy/feature-image---numpy-transpose-a-1D-array.webp)
Les tableaux et les matrices constituent le cœur de cette bibliothèque Python. Les transpositions de ces tableaux et matrices jouent un rôle essentiel dans certains sujets, comme l’apprentissage automatique. Dans NumPy, il est simple de calculer la transposition d’un tableau ou d’une matrice.
Transposer un tableau 1D dans NumPy
Pour transposer un tableau ou une matrice dans NumPy, nous devons utiliser l’attribut T
qui stocke le tableau ou la matrice transposée.
L’attribut T
est exclusif aux tableaux NumPy, c’est-à-dire ndarray
uniquement. Cet attribut n’est pas valide pour les listes Python.
Théoriquement, il est possible de transposer un tableau 1D, mais techniquement, ou plus précisément, en termes de langages de programmation, il n’est pas possible de transposer un tableau 1D.
Ne vous méprenez pas avec cette déclaration. C’est juste que la transposition d’un tableau 1D est un peu différente en Python ou dans tout autre langage de programmation. Tout se résume à la façon dont les tableaux sont représentés dans les langages de programmation.
Un tableau 1D est simplement une ligne d’une matrice. Si nous devons transposer ce tableau, techniquement matrice, nous devons convertir cette matrice 1D en une matrice 2D. Et puis transposez la matrice 2D en utilisant les fonctions désignées.
Reportez-vous au code suivant pour une meilleure explication.
import numpy as np
a = [1, 2, 3, 4, 5]
b = np.array(a)
c = np.array([a])
print(b)
print(c)
print(b.shape)
print(c.shape)
print(b.T)
print(c.T)
Production:
[1 2 3 4 5]
[[1 2 3 4 5]]
(5,)
(1, 5)
[1 2 3 4 5]
[[1]
[2]
[3]
[4]
[5]]
Tout d’abord, nous formons deux tableaux NumPy, b
est 1D et c
est 2D, en utilisant la méthode np.array()
et une liste Python. Pour convertir la liste en matrice 2D, nous l’enveloppons par des crochets []
. Ensuite, nous imprimons les tableaux NumPy et leurs formes respectives.
Mais la chose la plus importante à noter est que la transposition du tableau 1D est la même que le tableau lui-même, mais la transposition du tableau 2D est entièrement modifiée. Et les résultats sont assez évidents.
Le tableau 2D non transposé contient un tableau avec cinq éléments représentant une ligne de la matrice. Lors de la transposition, il y avait cinq tableaux à l’intérieur du tableau 2D représentant cinq lignes de la matrice transposée avec un élément dans chaque ligne. Et c’est ainsi que fonctionne la transposition!
Alors que dans le cas du tableau 1D, le même tableau a été renvoyé car le tableau transposé de [1 2 3 4 5]
en Python ressemble à ceci [1 2 3 4 5]
. Et ce résultat nécessite que notre tableau d’origine soit 2D au lieu de 1D.