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

Susan Sarandon
Libérer: 2024-10-20 22:16:02
original
377 Les gens l'ont consulté

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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>
Copier après la connexion

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!

source:php
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!