Maison >développement back-end >Tutoriel Python >Comment remodeler les tableaux multidimensionnels dans NumPy : un guide étape par étape

Comment remodeler les tableaux multidimensionnels dans NumPy : un guide étape par étape

Susan Sarandon
Susan Sarandonoriginal
2024-11-03 12:17:29522parcourir

How to Reshape Multidimensional Arrays in NumPy: A Step-by-Step Guide

Intuition et mise en œuvre du remodelage de tableaux multidimensionnels dans NumPy

Dans NumPy, le remodelage de tableaux multidimensionnels est essentiel pour la manipulation et la transformation des données. Voici une approche intuitive, avec un exemple détaillé :

Comprendre le processus de remodelage

Le remodelage des tableaux implique deux étapes séquentielles :

  • Permutation des axes : Ajustez l'ordre des dimensions pour les aligner sur le résultat souhaité.
  • Opération de remodelage : Modifiez la forme du tableau pour qu'elle corresponde aux dimensions souhaitées.

Exemple : Remodeler un tableau 4D en un tableau 2D

Considérez le tableau 4D donné :

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

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


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

        [[ 7, 14],
         [21, 28]]]])

Pour le remodeler en (4, 4), suivez la méthode de back-tracking :

  1. Permutation des axes : Pour faire correspondre les foulées de sortie, permutez les axes à (2, 0, 3, 1 ).

    reshaped_array = a.transpose((2, 0, 3, 1))
  2. Opération de remodelage : Remodelez le tableau permuté à la forme souhaitée.

    reshaped_array = reshaped_array.reshape(4,4)

Sortie :

array([[ 0,  5,  0, 10],
       [ 6,  7, 12, 14],
       [ 0, 15,  0, 20],
       [18, 21, 24, 28]])

Exemples supplémentaires

Pour une meilleure compréhension, reportez-vous à ces exemples supplémentaires qui démontrent le remodelage de divers tableaux multidimensionnels :

  • [Python remodèle un tableau 3D en 2D](https://stackoverflow.com/questions/21777810/python-reshape-3d-array-into-2d)
  • [Changement Numpy forme de (3, 512, 660, 4) à (3,2048,660,1)](https://stackoverflow.com/questions/48036140/numpy-change-shape-from-3-512-660-4 -au-3-2048-660-1)

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!

Déclaration:
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