Maison  >  Article  >  développement back-end  >  Quel rôle -1 joue-t-il dans la méthode .reshape() de NumPy pour le remodelage des tableaux ?

Quel rôle -1 joue-t-il dans la méthode .reshape() de NumPy pour le remodelage des tableaux ?

Susan Sarandon
Susan Sarandonoriginal
2024-10-20 22:16:02379parcourir

What Role Does -1 Play in NumPy's .reshape() Method for Array Reshaping?

Que signifie -1 dans la méthode .reshape() de NumPy ?

Dans NumPy, la méthode .reshape() est utilisée pour modifier la forme d’un tableau multidimensionnel. Fait intéressant, la valeur -1 peut être utilisée pour remodeler un tableau d'une manière spécifique.

Comprendre le concept de -1

Dans NumPy, -1 indique une valeur inconnue dimension pour remodeler un tableau. Lorsque vous fournissez -1 comme l'un des paramètres de forme, vous spécifiez que la forme doit être calculée automatiquement pour satisfaire certaines conditions.

Compatibilité avec la forme originale

Un élément crucial La condition pour remodeler un tableau est que la nouvelle forme doit être compatible avec la forme d'origine. Cela signifie que le nombre d'éléments dans le tableau remodelé doit correspondre au nombre d'éléments dans le tableau d'origine.

Déduire la dimension inconnue

NumPy calcule la dimension inconnue par compte tenu de la longueur du tableau et des autres dimensions spécifiées. Il garantit que la nouvelle forme satisfait à la condition de compatibilité mentionnée ci-dessus.

Exemples

Considérez le tableau NumPy suivant :

<code class="python">z = np.array([[1, 2, 3, 4],
         [5, 6, 7, 8],
         [9, 10, 11, 12]])</code>

Sa forme originale est (3, 4).

Remodeler avec (-1)

Remodeler z avec (-1) comme seul paramètre nous donne un tableau 1D avec tous les éléments :

<code class="python">z.reshape(-1)
array([ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12])</code>

Remodeler avec (-1, 1)

Remodeler avec (-1, 1) crée un tableau avec des lignes inconnues et une colonne :

<code class="python">z.reshape(-1, 1)
array([[ 1],
   [ 2],
   [ 3],
   [ 4],
   [ 5],
   [ 6],
   [ 7],
   [ 8],
   [ 9],
   [10],
   [11],
   [12]])</code>

Remodeler avec (-1, 2)

L'utilisation de (-1, 2) donne un tableau avec des lignes inconnues et deux colonnes :

<code class="python">z.reshape(-1, 2)
array([[ 1,  2],
   [ 3,  4],
   [ 5,  6],
   [ 7,  8],
   [ 9, 10],
   [11, 12]])</code>

Remodeler avec (1, -1)

Remodeler avec (1, -1) crée un tableau avec une ligne et des colonnes inconnues :

<code class="python">z.reshape(1,-1)
array([[ 1,  2,  3,  4,  5,  6,  7,  8,  9, 10, 11, 12]])</code>

Remodeler avec (-1, -1)

Cependant, si vous spécifiez les deux dimensions comme -1, NumPy générera une ValueError car il ne peut pas déterminer la nouvelle forme de manière unique.

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