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

Patricia Arquette
Libérer: 2024-11-01 20:12:02
original
597 Les gens l'ont consulté

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

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

Comprendre comment remodeler des tableaux dans NumPy est crucial lorsque l'on travaille avec des données multidimensionnelles . Bien que la fonction de remodelage offre un moyen pratique de modifier la forme d'un tableau, il peut être difficile de comprendre comment elle fonctionne sur des tableaux de dimensions supérieures.

Approche générale de transformation

La transformation de tableaux entre différents niveaux de dimensionnalité (nd) implique deux étapes clés :

  1. Permuter les axes : Réorganiser l'ordre des axes à l'aide de fonctions telles que transpose, moveaxis et rollaxis pour garantir la la représentation aplatie du tableau d'entrée correspond à celle de la sortie souhaitée.
  2. Remodeler : Modifiez la forme du tableau soit pour créer des axes supplémentaires, soit pour fusionner ceux existants dans la forme finale souhaitée.

Exemple spécifique

Considérons le tableau 4D fourni dans la question :

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

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


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

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

Pour remodeler cela en (4,4), nous pouvons appliquer les étapes suivantes :

  1. Permuter les axes : Nous devons échanger les axes (2, 0, 3, 1) pour aligner la représentation aplatie.
  2. Remodeler :Enfin, nous pouvons remodeler le tableau permuté à la forme (4,4) souhaitée.
array.transpose((2, 0, 3, 1)).reshape(4,4)
Copier après la connexion

Résultat en :

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

Méthode de back-tracking

La résolution de telles transformations peut être simplifiée à l'aide de la méthode de back-tracking :

  1. Identifier la forme finale du tableau de sortie.
  2. Commencez par diviser le tableau d'entrée si nécessaire pour faire correspondre la nd de la sortie.
  3. Déterminez l'ordre de permutation en étudiant la foulée du tableau de sortie et en la comparant à l'entrée.
  4. Appliquez tout remodelage final si nécessaire pour fusionner les axes restants.

Exemples supplémentaires

Référez-vous à la liste d'autres exemples fournie pour plus de conseils sur le remodelage et tableaux dans NumPy. Comprendre ces transformations est essentiel pour manipuler efficacement les données multidimensionnelles.

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
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!