Comprendre la différence entre les fonctions d'aplatissage et de ravel de Numpy
La bibliothèque Numpy fournit deux méthodes, aplaties et ravor, pour convertir des réseaux multidimensionnels en arayons unidimensionnels. Cependant, une question se pose: pourquoi avoir deux fonctions distinctes qui remplissent la même tâche?
sortie identique, un comportement différent
à la fois aplati y = np.array (((1,2,3), (4,5,6), (7,8,9)))) imprimer (y.flastten ()) [1 2 3 4 5 6 7 8 9] imprimer (y.ravel ()) [1 2 3 4 5 6 7 8 9]
import numpy as np
y = np.array(((1,2,3),(4,5,6),(7,8,9)))
print(y.flatten())
[1 2 3 4 5 6 7 8 9]
print(y.ravel())
[1 2 3 4 5 6 7 8 9]
La différence cruciale réside dans la façon dont les fonctions gèrent le tableau renvoyé. Aplatir crée toujours une copie du tableau d'origine, tandis que Ravel crée une vue du tableau d'origine chaque fois que possible. De plus, si vous modifiez le tableau renvoyé par Ravel, les modifications sont reflétées dans le tableau d'origine. Cela peut être avantageux dans certaines situations.
met en garde avec Ravel
cependant, il est important d'être prudent avec Ravel. Si le tableau renvoyé ne peut pas être présenté comme une vue du tableau d'origine, Ravel créera une copie. De plus, la modification du tableau renvoyé par Ravel peut provoquer des effets secondaires inattendus dans le tableau d'origine.
Conclusion
ALPLATEN et RALLAL peuvent être utilisés pour convertir les tableaux multidimensionnels en tableaux unidimensionnels. Aplatir renvoie toujours une copie, tandis que Ravel renvoie une vue chaque fois que possible. Il est essentiel de comprendre les différences de comportement pour sélectionner la fonction appropriée pour vos besoins spécifiques.
Clause de non-responsabilité: Toutes les ressources fournies proviennent en partie d'Internet. En cas de violation de vos droits d'auteur ou d'autres droits et intérêts, veuillez expliquer les raisons détaillées et fournir une preuve du droit d'auteur ou des droits et intérêts, puis l'envoyer à l'adresse e-mail : [email protected]. Nous nous en occuperons pour vous dans les plus brefs délais.
Copyright© 2022 湘ICP备2022001581号-3