user
La fonction np.zeros_like() est différente de np.zeros() ?
alphonsio

np.zeros_like() crée un tableau de zéros avec la même forme et le même type qu’un tableau existant, tandis que np.zeros() nécessite de spécifier la forme manuellement.


np.zeros_like() et np.zeros() sont similaires en ce qu'elles créent toutes deux des tableaux initialisés à zéro, mais elles diffèrent dans la manière dont elles spécifient la forme et le type de ces tableaux :

  1. np.zeros_like():
    • Crée un tableau de zéros avec la même forme et le même type de données qu'un tableau donné.
    • Utile lorsque vous souhaitez initialiser un tableau de zéros qui correspond exactement à un autre tableau en termes de forme et de type de données.
    • Par exemple, np.zeros_like(a) devrait créer un tableau de zéros qui a la même forme que le tableau a.
a = np.array([[1, 2, 3], [4, 5, 6]])
b = np.zeros_like(a)
# b est alors un tableau de la même forme que a, avec des zéros : 
# array([[0, 0, 0],
#        [0, 0, 0]])
  1. np.zeros():
    • Crée un tableau de zéros avec la forme spécifiée directement par l'utilisateur.
    • Vous devez indiquer explicitement la taille du tableau que vous souhaitez créer.
    • Par exemple, np.zeros((2, 3)) crée un tableau 2x3 rempli de zéros.
b = np.zeros((2, 3))
# b est alors un tableau de zéros avec une forme 2x3 :
# array([[0., 0., 0.],
#        [0., 0., 0.]])

En résumé, np.zeros_like() est pratique lorsque vous voulez créer un tableau de zéros qui a exactement la même forme et le même type de données qu'un tableau existant, tandis que np.zeros() est utilisé lorsque vous savez d'avance les dimensions du tableau que vous voulez créer.