Maison > développement back-end > Tutoriel Python > Comment remodeler un tableau NumPy 4D en tableau 2D ?

Comment remodeler un tableau NumPy 4D en tableau 2D ?

Mary-Kate Olsen
Libérer: 2024-10-31 18:09:46
original
901 Les gens l'ont consulté

How to Reshape a 4D NumPy Array to a 2D Array?

Intuition et idée derrière le remodelage d'un tableau 4D en tableau 2D dans NumPy

Dans NumPy, le remodelage de tableaux multidimensionnels nécessite une compréhension des permutations d'axes et des fonction de remodelage. Pour remodeler un tableau 4D en tableau 2D, nous suivons généralement un processus en trois étapes :

  1. Permuter les axes : Réorganisez les dimensions du tableau pour qu'elles correspondent à la forme de sortie souhaitée. Cela se fait à l'aide de fonctions telles que transpose, moveaxis, rollaxis ou swapaxes.
  2. Diviser ou fusionner des axes : Ajustez la dimensionnalité du tableau en créant de nouveaux axes (fractionnement) ou en combinant des axes existants ( fusion).
  3. Remodeler : Utilisez la fonction de remodelage pour ajuster la forme du tableau à la taille de sortie souhaitée.

Exemple

Considérons le tableau 4D suivant :

array([[[[ 0,  0],
         [ 0,  0]],

        [[ 5, 10],
         [15, 20]]],


       [[[ 6, 12],
         [18, 24]],

        [[ 7, 14],
         [21, 28]]]])
Copier après la connexion

Pour le remodeler en (4,4) :

  1. Permutez les axes : Nous voulez que l’ordre des axes soit (0, 1, 3, 2). Ceci peut être réalisé en utilisant la transposition :
a = a.transpose((2, 0, 3, 1))
Copier après la connexion
  1. Axes divisés :N'effectuez aucun fractionnement, car nous avons déjà le nombre correct de dimensions.
  2. Remodeler :Remodeler à la forme souhaitée :
a = a.reshape(4,4)
Copier après la connexion

Résultat :

array([[ 0,  5,  0, 10],
       [ 6,  7, 12, 14],
       [ 0, 15,  0, 20],
       [18, 21, 24, 28]])
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal