Redimensionnement avancé - Création de tableaux 3D
Passons maintenant au redimensionnement plus avancé en créant des tableaux tridimensionnels. Les tableaux 3D sont essentiellement des tableaux de tableaux 2D et sont utiles pour représenter des volumes, des séries temporelles d'images ou d'autres structures de données complexes.
Ajoutez le code suivant à votre fichier numpy_reshape.py :
import numpy as np
## Crée un simple tableau 1D
original_array = np.arange(24)
print("Original 1D array:")
print(original_array)
print("Shape of the original array:", original_array.shape)
print("-" * 50) ## Ligne de séparation
## Redimensionne en un tableau 3D de dimensions 2x3x4
## Cela crée 2 blocs, chacun avec 3 lignes et 4 colonnes
reshaped_3d = np.reshape(original_array, (2, 3, 4))
print("Reshaped 3D array (2x3x4):")
print(reshaped_3d)
print("Shape of the 3D array:", reshaped_3d.shape)
print("Dimensions of the 3D array:", reshaped_3d.ndim)
print("-" * 50) ## Ligne de séparation
## Accès aux éléments dans un tableau 3D
print("First block of the 3D array:")
print(reshaped_3d[0])
print("\nSecond block of the 3D array:")
print(reshaped_3d[1])
print("\nElement at position [1,2,3] (second block, third row, fourth column):")
print(reshaped_3d[1, 2, 3])
Exécutez votre script à nouveau :
python3 numpy_reshape.py
La sortie montrera comment un tableau 1D de 24 éléments peut être transformé en une structure 3D. Cette structure peut être visualisée comme 2 blocs, chacun contenant une matrice 3×4.
Comprendre les tableaux 3D :
- La première dimension (2) représente le nombre de "blocs" ou de "couches"
- La deuxième dimension (3) représente le nombre de lignes dans chaque bloc
- La troisième dimension (4) représente le nombre de colonnes dans chaque ligne
Cette structure est particulièrement utile pour le traitement d'images (où chaque "bloc" pourrait être un canal de couleur), les données de séries temporelles (où chaque "bloc" pourrait être un point dans le temps) ou d'autres scénarios nécessitant plusieurs matrices.