Maison >développement back-end >Tutoriel Python >Quel rôle -1 joue-t-il dans la méthode .reshape() de NumPy pour le remodelage des tableaux ?
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!